Dev0ps's avatar

SQLSTATE[HY000]: General error: 3065 Expression #1 of ORDER BY clause is not in SELECT list, references column 'messages.created_at' which is not in SELECT list; this is incompatible with DISTINCT

how to sove

$MsgChecker = Message::where('receiver_id', '!=', Auth::id())->where('user_id', '=', Auth::id())->select('user_id', 'receiver_id', 'conversation_token')->orderBy('created_at','asc')->distinct()->get();
0 likes
3 replies
Dev0ps's avatar

groupBy is not satisfied my requirement

fdjunior's avatar

Any solution? i solved this issue by adding [mysqld] (newline) sql_mode = '' on my "my.cnf" file. And now it works fine on PhpMyAdmin but the query on Laravel still crashes

ismaile's avatar

Since you are using distinct, you should add created_at to your select, here you go:

$MsgChecker = Message::where('receiver_id', '!=', Auth::id())->where('user_id', '=', Auth::id())->select('user_id', 'receiver_id', 'conversation_token','created_at')->orderBy('created_at','asc')->distinct()->get();

Please or to participate in this conversation.