【发布时间】:2019-03-02 04:48:58
【问题描述】:
我有这个 SQL 查询:
SELECT *
FROM posts
RIGHT JOIN files ON posts.id = files.fileable_id
GROUP BY posts.id
HAVING posts.user_id = 3125
它可以工作,但我需要将它转换为 Laravel eloquent 我试过这段代码
$postsHaveFileCount = DB::table('posts')
->rightJoin('files', 'posts.id', '=', 'files.fileable_id')
->groupBy('posts.id')
->having('posts.user_id', '=', $user->id)
->get()->count();
echo $postsHaveFileCount;
但我有这个错误
(2/2) QueryException SQLSTATE[42000]: 语法错误或访问 违规:1055 SELECT 列表的表达式 #17 不在 GROUP BY 中 子句并包含非聚合列“staff.files.id” 功能上依赖于 GROUP BY 子句中的列;这是 不兼容 sql_mode=only_full_group_by (SQL: select * from
posts右加入files上posts.id=files.fileable_id分组posts.id有posts.user_id= 3125)
感谢所有帮助我解决问题的人,在此先感谢。
【问题讨论】:
-
您决定转换此应用时是否更改了您使用的 MySQL 版本?
标签: php mysql laravel eloquent laravel-5.6