【发布时间】:2018-09-13 09:50:08
【问题描述】:
所以我有这个数据库结构:
页数
id - integer
name - string
行
id - integer
page_id - integer
name - string
组件
id - integer
row_id - integer
name - string
PAGES 有很多 ROWS,每个 ROWS 有很多 COMPONENTS
我的页面模型有:
public function rows() {
return $this->hasMany('Models\Rows');
}
我的 Rows 模型有
public function page()
{
return $this->belongsTo('Models\Page');
}
public function components() {
return $this->hasMany('Models\Components');
}
我的组件模型有
public function rows()
{
return $this->belongsTo('Models\Rows');
}
所以此刻我有两步方法来获取页面/行中的所有组件。
首先我找到行:
$rows = PageModel::find(2)->rows;
然后遍历 $rows 并找到组件。
但是这样做不是更有效率吗?
【问题讨论】:
-
谢谢!最后 Laravel 论坛上有人给出了更详细的答案.. 但仍然是同一个方向:laracasts.com/discuss/channels/eloquent/…