이 다음 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
흠 ... 하위 쿼리'SELECT member_id, COUNT (*) ...'만 실행해볼 수 있습니까? 그게 뭐야? 'member_count'가 모두 'NULL'로 돌아 오면 데이터에 문제가 있음을 의미합니다. –
또 다른 생각 :이 결과 세트의 _order_를 어떻게 계획합니까? 처음으로 되돌아온 몇 가지 기록에는 아무런 가치가없는 경우도있을 수 있습니다. 아마도 'ORDER BY' 절도 있어야합니다. –