У меня есть этот запрос SQL:
SELECT *
FROM posts
RIGHT JOIN files ON posts.id = files.fileable_id
GROUP BY posts.id
HAVING posts.user_id = 3125
Это работает, но мне нужно преобразовать его в красноречивый Laravel Я попробовал этот код
$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 Выражение № 17 из списка SELECT отсутствует в предложении GROUP BY и содержит неагрегированный столбец staff.files.id, который являетсяфункционально не зависит от столбцов в предложении GROUP BY;это несовместимо с sql_mode = only_full_group_by (SQL: выберите * из posts
правое объединение files
в posts
. id
= files
. fileable_id
, группируйте по posts
. id
, имея posts
. user_id
= 3125)
Я буду благодарен за все, чтобы помочь мне решить проблему, заранее спасибо.