この次のSQL文は、mysqlのクエリで動作して動作しますが、Laravelで次のコマンドを実行しようとしたときにエラーSQLSTATE[42000]: Syntax error or access violation: 1055 'dashboard.m.id' isn't in GROUP BY (SQL: SELECT m.id, ....
を与える:Laravel生の選択エラー。 MySQLの
$this->builder = DB::select
("SELECT m.id, m.member_num, m.first_name, m.last_name, COUNT(s.member_id) AS members
FROM sessions AS s
LEFT JOIN members AS m ON s.member_id = m.id
WHERE s.created_at >= :dateFrom
AND s.created_at < :dateTo
GROUP BY s.member_id",
['dateFrom' => "date('2017-11-01')",
'dateTo' => "date('2017-12-01')"]);
は、誰もがそれは、MySQLで正しく動作考慮問題を見ることができます。
私は単にsessions
のカウントを取得し、あなたはLaravelに見ているエラーがそれに関係しているsessions
このような高速回答をいただきありがとうございます。私はあなたのクエリを削除しましたが、今は動作していますが、member_countはすべてnullですか? – yoyoma
Hmmm ...サブクエリ 'SELECT member_id、COUNT(*)...'だけを実行できますか?それは何を返しますか?すべての 'member_count'がそこにも' NULL'で戻ってくるなら、あなたのデータに問題があることを意味します。 –
別の考え:この結果セットをどのように_order_する予定ですか?最初に戻った少数のレコードは、カウントを持たないことが起こり得る。おそらくORDER BY句も必要です。 –