如何在Laravel DB中使用count() WHERE :raw
$report=`societyReport`::select('society_reports.id','society_reports.body','society_reports.created_at',DB::raw("count(votes.vote) as count WHERE vote = 1"))
->`leftjoin`('votes', 'votes.society_reports_id','=','society_reports.id')
->`groupBy`('society_reports.id')
->`orderBy`('society_reports.id', 'DESC')
->paginate(10); SQLSTATE42000:语法错误或访问冲突: 1064您的SQL语法出现了错误;请检查与MySQL服务器版本对应的手册,以获得正确的语法,以便使用“Where=1”
发布于 2019-02-18 17:58:25
有关结构中的更正,请参见以下内容:
$report= SocietyReport::leftjoin('votes', 'votes.society_reports_id','=','society_reports.id')
->groupBy('society_reports.id')
->orderBy('society_reports.id', 'DESC')
->select(
'society_reports.id',
'society_reports.body',
'society_reports.created_at',
\DB::raw("count(votes.vote) as count")
)
->where('vote', 1)
->paginate(10);问题是select()用于选择列或聚合值。如果要添加where子句,则需要执行->where()
https://stackoverflow.com/questions/54752621
复制相似问题