開発環境ではエラーは、でませんでした。
しかし、デプロイしたところ、エラーが発生。
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(order by count(likes.user_id) desc) as rank from fighters
left join likes
o' at line 1 (SQL: select fighters.*, count(likes.user_id) as likes_count, rank() over (order by count(likes.user_id) desc) as rank from fighters
left join likes
on fighters
.id
= likes
.fighter_id
group by fighters
.id
order by count(likes.user_id) desc limit 5 offset 0)
FighterController (省略) public function index(Request $request) { $fighters = Fighter::query() ->selectRaw('fighters.*') ->addSelect(DB::raw('count(likes.user_id) as likes_count')) ->addSelect(DB::raw('rank() over (order by count(likes.user_id) desc) as rank')) ->leftJoin('likes', 'fighters.id', '=', 'likes.fighter_id') ->groupBy('fighters.id') ->orderByRaw('count(likes.user_id) desc') ->paginate(5); (省略) }
$ mysql --versionでバージョン確認
開発環境
mysql Ver 15.1 Distrib 10.5.10-MariaDB, for Linux (x86_64) using EditLine wrapper
本番環境
mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
原因は、バージョンの違いによるものでしょうか。

回答2件
あなたの回答
tips
プレビュー