我正在使用查询来获取属于某个城市的公司,这些公司属于某个事件。
$companies = Event::find($id)->city->companies;
现在在我看来,我正在通过公司进行迭代,以输出在那里工作的人员
@foreach($companies as $company)
@foreach($company->persons as $person)
...
@endforeach
@endforeach
唯一的问题是它还向我展示了没有人的公司
我在考虑WhereHas,但我似乎无法将自己包含在两者的逻辑中。
谢谢!
答案 0 :(得分:1)
我不确定它是否有效,但您可以试试这个:
$companies = Event::find($id)->city->companies()->has('persons')->get();
答案 1 :(得分:0)
[...]您可能希望根据a的存在来限制您的结果 关系[...]为此,您可以使用has方法。
这样的事可能有用:
Event::find($id)->city()->companies()->has('persons')->get();
鉴于我不知道确切的返回对象以进行正确的方法链接。