0

我正在开发一个使用 eloquent 检索模型的应用程序。

地位

假设我有一个GROUP,PERSON,HOBBY的模型。

所有这些都是 1:n 连接的

GROUP 1---n PERSON

PERSON 1---n HOBBY

该方法可能是检索模型:

$group = Group::find(123)->with('persons.hobbies')->get();

为了在我的模板中显示模型,我会将我的组触发到模板中。然后我会遍历我在该组中的人员以及我的爱好,例如显示爱好的名称。

问题

因为这个模型非常(!)微不足道。我想知道是否有可能(无用)直接检索(不嵌套)所有爱好(作为 Eloquent 模型的数组)。但是我唯一知道的还是一开始的 Group(即 groupId)?

提前致谢

4

1 回答 1

1

group这是不可能的,因为和之间的 1---n 关系可能会返回给定的person许多对象。无法访问某个收藏的爱好列表。persongroup_id

如果您真的想“直接”执行此操作,我的建议是您使用 Fluent。查询构建器,而不是 Eloquent,来连接表。

就像是:

DB::select('hobby.*')
  ->from('hobby')
  ->join('group', 'group.id = person.group_id')
  ->join('person', 'person.hobby_id = hobby.id')
  ->where('group.id', $group_id);
于 2013-10-17T09:10:20.983 回答