【发布时间】:2017-09-25 09:00:32
【问题描述】:
所以我有两个模型,Client 和 Project,并且 Client 与项目有 hasMany 关系。我只是想将客户端的项目计数添加到 JSON 响应中,但我无法让它工作。
我的控制器只返回所有项目;
public function index(Client $client)
{
return $client->all();
}
我的模型包含以下内容;
protected $appends = ['client_projects_count'];
/**
* Create a relationship between this client and it's projects
*/
public function clientProjects() {
return $this->hasMany('App\Project');
}
public function getClientProjectsCountAttribute()
{
return $this->withCount('clientProjects');
}
这只是将client_projects_count 添加到响应中,但它是一个空数组。我很接近,如果我 dd($this->withCount('clientProjects')->get()) 我可以看到 client_projects_count 的计数正确,但是如果我删除 dd 并保留 ->get() ,那么我会收到内部服务器错误。
另外,是否可以只为index() 方法而不是每个方法加载它?
【问题讨论】: