我的分页错误
$writers = $writer::join('categories','categories.id','=','writers.category_id')
->where([['categories.category_name', '=', $category]])->paginate(1);
任何人都可以告诉如何对内连接查询进行分页。
这是我收到的错误消息:
Connection.php第770行中的QueryException:SQLSTATE [42000]:语法错误或访问冲突:1140混合GROUP列(MIN(),MAX(),COUNT(),...)没有GROUP列是非法的如果没有GROUP BY子句(SQL:select count(*)作为来自authorsrs`的聚合,则在categories.id = writers.category_id where(categories.category_name = Comic))
答案 0 :(得分:1)
您需要在查询中指定GROUP_BY
子句
$writers = Writer::join('categories','categories.id','=','writers.category_id')
->where('categories.category_name', '=', $category)
->groupBy('writers.id')
->paginate(1);
<强>更新强>
如果仍然出现错误,请检查config/database.php
。请确保在mysql设置中strict = false
更新2
严格模式适用于从5.7开始的mysql。如果您在5.7下有mysql,请设置strict => false
。您可以查看此链接以获取更多信息: