【发布时间】:2013-06-26 09:19:12
【问题描述】:
我有一个多对多关系的数据透视表,其中包括另一个模型的第三个索引参数。我希望能够使用 Eloquent 来访问这个模型。
在我的应用程序中,我有一个 User,他可以有许多 Subjects 和许多 Semesters。当用户拥有Subject 时,它也需要属于给定的Semester。我有一个users、subjects 和semesters 表,以及一个subject_user 表(其中有user_id、subject_id 和semester_id)。
当我检索User 的主题时,我还希望能够通过数据透视表获取Subject 已连接到的Session。
class User
{
public function subjects()
{
$this->belongsToMany('Subject')->withPivot('session_id');
}
}
我希望能够做的事情如下,我可以使用Session 模型。
$user->subjects()->pivot->semester;
这可能吗,还是需要扩展 Eloquent?
【问题讨论】:
-
曾经想出解决方案吗?有类似的问题。
-
我的解决方案是使用定义了自己的关系的 UserSubject 模型。我确实在 Eloquent 中对此提出了功能请求,但被拒绝了。我认为连接模型是一个很好的解决方案。
标签: php laravel laravel-4 eloquent