【发布时间】:2015-09-03 14:47:42
【问题描述】:
现在我有了这些业务逻辑,但不知道如何在 Laravel 中定义它。
首先,有两个基本模型名为contact 和project,而contact 和project 模型拥有多对多关系,因此我将它们定义如下:
class Contact extends Model{
public function projects(){
return $this->belongsToMany('App\Project', 'proj_staff')
->withPivot('role', 'superior');
}
}
和Project一样:
class Project extends Model{
public function contacts(){
return $this->belongsToMany('App\Contact', 'proj_staff')
->withPivot('role', 'superior');
}
}
如您所见,每个contact 在他的project 中都有一个superior,所以随之而来的问题是如何定义一个关系来访问superior,如下所示:$contact->projects[0]->superiors ,而superiors 最好返回一个模型集合,而不仅仅是id。
谢谢。
【问题讨论】: