我有一个与另一个模型(Toc)相关的模型(Journal),所以每个期刊都可以有一个或多个TOC,我想检索每个期刊中Toc数量的期刊列表。
我创建了一个代码,用于检索每个日志中包含toc列表的日志列表,然后使用PHP计数函数计算tocs,但我认为它们可能是一种更有效的方式,而不是必须获得更多吃更多的整个列表存储器中。
这是我的代码:
型号:
public function toc()
{
return $this-> hasMany ( 'Toc', 'journal_id' ) ;
}
控制器:
$this->data['model'] = $this->model->with('toc')->get() ;
有任何帮助吗? 注意:我使用的是laravel 4
答案 0 :(得分:2)
您可以使用Mutators
在您的模型日记添加:
protected $appends = array('numberOfTocs');
以及获取此属性的方法:
public function getNumberOfTocsAttribute()
{
return $this->toc()->count();
}
这样,您的查询中就会有一个与Toc数相对应的附加属性。
Here是另一个有趣的实现。