雄辩,如何在其他模型关系函数中调用关系函数

时间:2017-01-06 09:26:13

标签: laravel eloquent laravel-5.3

我有一个雄辩的问题,因为你可以阅读标题。我有一个基础和用户模型。所有模型都需要与基础相关。我不想为每个模型创建一个数据透视表,所以我想在其他模型中调用用户模型的基础关系函数'基础关系函数。您可以阅读示例代码:

class User extends Model{

   public function foundations(){
      return $this->belongsToMany(Foundation::class);
   }

}

class Personnel extends Model{

  public function user(){
    return $this->belongsTo(User::class);
  }

   public function foundations(){
      return $this->user->foundations();
   }

}

当我跑步时

Personnel::with("foundations")->first();

此代码返回错误的基础。

**编辑1 =在数据表中,我使用基础()函数检索数据。所以我必须使用像这样=> {模型} - GT;基金会()

2 个答案:

答案 0 :(得分:1)

像这样:

Personnel::with('user.foundations')->first()

句点表示您也希望加载关系关系。

答案 1 :(得分:0)

试试这个,

Personnel::with("user.foundations")->first();

在人事模型中不需要foundations()