我有网站,页面,元素和element_creators表,如下所示:
sites
id
...
pages
id
site_id
...
elements
id
page_id
...
element_creators
id
element_id
...
我能够检索链接到页面的元素创建者
$this->belongsToMany('ElementCreator', 'elements', 'page_id', 'element_creator_id');
是否有一种简单的方法可以检索特定网站的所有元素创建者(通过其网页)?
谢谢!
答案 0 :(得分:1)
你可以试试这个:
$site = Site::with('pages.elementCreators')->find(1); // 1 is id for example
然后您可以使用以下方式访问所有elementCreators
:
$elementCreators = $site->pages->fetch('elementCreators');
答案 1 :(得分:0)
目前,我正在使用它作为临时解决方案,我希望能找到更好的东西:
public function elementCreators()
{
$elementCreators = array();
foreach ($this->pages as $page) {
foreach ($page->elementCreators as $elementCreator) {
$elementCreators[$elementCreator->id] = $elementCreator;
}
}
return \Illuminate\Database\Eloquent\Collection::make($elementCreators);
}