【发布时间】:2014-08-02 16:14:56
【问题描述】:
我有 3 个模型:Conference、Session 和 Speaker。一个会议可以有多个 Session,而多个 Session 可以有多个 Speaker。
数据库结构
conferences
-----------
id
name
sessions
--------
id
conference_id
name
session_speaker
---------------
id
session_id
speaker_id
speakers
--------
id
name
我需要编写一个方法,让我可以获取特定会议的所有发言人(即来自该特定会议的所有会议的所有发言人)。
以下说明了我认为应该起作用的方法,但显然不能,因为我无法将它们链接在一起。
app/models/Conference.php
class Conference extends Eloquent {
public function speakers() {
return $this->hasMany('Session')->belongsToMany('Speaker');
}
}
我已设置所有模型-模型关系并正常工作(会议-会话、会话-演讲者),但是我无法在会议-会话-演讲者之间建立桥梁。有谁知道我如何在不编写大型 SQL 连接查询的情况下实现这一目标?
我认为如果有关系 belongsToManyThrough() 这会起作用,但没有。
提前致谢!
【问题讨论】: