【问题标题】:Eloquent get value Many to Many RelationshipEloquent 获取价值 多对多关系
【发布时间】:2019-08-21 13:32:12
【问题描述】:

这是我的投票模型:

namespace App;

use Illuminate\Database\Eloquent\Model;

class Vote extends Model
{
    public function user(){
      return $this->belongsTo('App\User');
    }

    public function options(){
      return $this->hasMany('App\Option');
    }
}

这是我的选项模型:

namespace App;

use Illuminate\Database\Eloquent\Model;

class Option extends Model
{
    public function vote(){
      return $this->belongsTo('App\Vote');
    }

    public function users(){
      return $this->belongsToMany('App\User');
    }
}

案例是我想在选项模型中从多对多关系中获取用户数据,但从投票模型开始。所以我首先在投票模型中获取选项数据,然后在选项模型中获取用户数据(多对多)

【问题讨论】:

  • 您想要从VoteUser 的直接关系?
  • yap,但我不知道如何@JonasStaudenmeir

标签: php laravel eloquent many-to-many relationship


【解决方案1】:

Laravel 不支持直接关系。

我为这样的案例创建了一个包:https://github.com/staudenmeir/eloquent-has-many-deep

class Vote extends Model
{
    use \Staudenmeir\EloquentHasManyDeep\HasRelationships;

    public function users()
    {
        return $this->hasManyDeep(User::class, [Option::class, 'option_user']);
    }
}

【讨论】:

    猜你喜欢
    • 2018-12-29
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 2019-03-26
    • 2019-07-07
    相关资源
    最近更新 更多