【发布时间】:2015-03-23 03:21:21
【问题描述】:
这个问题扩展了 Laravel 文档中提供的示例 Eloquent : Working With Pivot Tables。
我在一个应用程序中需要以下关系:
User belongsToMany Role
Role belongsToMany Task
User belongsToMany Task
User belongsToManyThrough Role->Task (Task through Role)
- 因此,用户可以通过
Role或直接与Task相关联。 - 所有关系都是多对多的。
我不清楚的部分是我需要如何在模型中设置这些,以便我可以使用诸如急切加载之类的东西来获取:
- 通过角色与用户相关的所有任务
- 与用户直接相关的所有任务
- 与用户相关的所有任务
例如,下面的 x 和 y 应该是什么才能启用所有这些关系?
class User extends Eloquent {
public function tasks()
{
return x;
}
}
class Task extends Eloquent {
public function users()
{
return y;
}
}
【问题讨论】: