laravel 4,模型关系,获取一个模型的列表,以及另一个模型中相关行的计数
我有一个与另一个模型(Toc)相关的模型(日志),因此每个日志可以有一个或多个Toc,我想检索一个日志列表,其中包含每个日志中的Toc计数 我创建了一个代码,用每个日志中的TOC列表检索日志列表,然后使用PHP count函数计算TOC,但我认为这可能是一种更有效的方法,而不必获取消耗更多内存的整个列表 这是我的密码: 型号:laravel 4,模型关系,获取一个模型的列表,以及另一个模型中相关行的计数,laravel,laravel-4,Laravel,Laravel 4,我有一个与另一个模型(Toc)相关的模型(日志),因此每个日志可以有一个或多个Toc,我想检索一个日志列表,其中包含每个日志中的Toc计数 我创建了一个代码,用每个日志中的TOC列表检索日志列表,然后使用PHP count函数计算TOC,但我认为这可能是一种更有效的方法,而不必获取消耗更多内存的整个列表 这是我的密码: 型号: public function toc() { return $this-> hasMany ( 'Toc', 'journal_id' ) ; }
public function toc()
{
return $this-> hasMany ( 'Toc', 'journal_id' ) ;
}
控制器:
$this->data['model'] = $this->model->with('toc')->get() ;
有什么帮助吗注意:我使用的是laravel 4您可以使用
变异体来设置所需的值,在您的模型日志中添加:
protected $appends = array('numberOfTocs');
以及获取此属性的方法:
public function getNumberOfTocsAttribute()
{
return $this->toc()->count();
}
这样,在查询中就有了一个额外的属性,对应于Toc的数量
是另一个有趣的实现。您可以使用Mutators
来设置所需的值,在模型日志中添加:
protected $appends = array('numberOfTocs');
以及获取此属性的方法:
public function getNumberOfTocsAttribute()
{
return $this->toc()->count();
}
这样,在查询中就有了一个额外的属性,对应于Toc的数量
是另一个有趣的实现。如何在控制器中使用此附加属性?我无法跟踪您提供的URL,它在尝试时显示并出错。如果您调试数据['model'],您将拥有名为NumberOfToc的附加属性日志这是链接:我如何在控制器中使用此附加属性?我无法跟踪您提供的URL,它会在尝试时显示错误。如果调试数据['model'],您将拥有名为NumberOfToc的附加属性日志这是链接: