【发布时间】:2018-07-03 23:17:33
【问题描述】:
我目前有 3 个课程 Elements、PageElements 和 Page。型号如下:
Pages.php
class Pages extends Model
{
public function pageElement() {
return $this->hasMany(PageElements::class, 'page_id');
}
}
PageElements.php
class PageElements extends Model
{
public function element() {
return $this->hasOne(Elements::class, 'id', 'element_id');
}
}
元素.php
class Elements extends Model
{
//
}
我需要的所有数据都来自Elements,我可以将PageElements 数据扔掉,如何将其转换为使用hasManyThrough 关系?
我想通过$page->elements直接访问Elements,目前我必须做$page->elements->element。
我认为这应该是hasManyThrough 关系是否正确?
我目前的尝试低于
public function elements() {
return $this->hasManyThrough(Elements::class, PageElements::class, 'element_id', 'id', 'id', 'page_id');
}
虽然总是返回一个空数据集
【问题讨论】:
标签: php laravel eloquent relationships