任何人都可以帮助我,我没有找到解决方法。
我想显示主题列表和列总回复(仅限有法定=已批准的回复)。
我的表格如下:
subjects(idsubject, title)
responses(idresponse, idsubject, message, status)
所以我做了:
$subjects= Subject::select('subjects.*', "count(responses.id) as responses" )
->leftJoin('responses', function($join)
{
$join->on('responses.idsubject', '=', 'subjects.idsubject')
->where('responses.status', '=', '1');
})
->get();
但我收到错误消息
未找到列:1054未知列'count(responses.id)'
我怎么解决这个问题?
感谢
答案 0 :(得分:0)
您需要使用此selectRaw
代替select
- 对于select
,您只能使用列名:
$subjects= Subject::selectRaw("subjects.*, count(responses.id) as responses")
->leftJoin('responses', function($join)
{
$join->on('responses.idsubject', '=', 'subjects.idsubject')
->where('responses.status', '=', '1');
})
->get();