それは多分明白と私は完全にポイントを逃していますが、私はSITE_ID例えば、user_idを持つ複数の行を含むテーブルを持っていますもともと古いDEVによって書かれた幼虫SQLSTATE [42000]:構文エラーまたはアクセス違反:1055年式#2
ldstaff | ld_site
____________________
3 1
3 2
4 1
MySQLのクエリは、スタッフのIDが自分の名前を見つけましたし、このようなものを作るために一緒にすべてのサイトをCONCAT。
StaffID | Name | sites
3 Dave 1,2
このクエリは、もともとしかし、我々はエラーSQLSTATE [42000]を持って同じ結果を得るために、新たなシステムの一部としてLaravelに書き込むしようと、これまでとき
SELECT `ld_staff` as staffID ,a.name,GROUP_CONCAT(`ld_site`) as sites FROM `lead_distribution` l
LEFT JOIN users a ON a.crm_id = l.ld_staff
WHERE ld_enabled = 1 AND
`account_type` = 1 AND `active` = 1 AND `no_more` = 0 AND network_team > 0 AND renewal_team = 0
GROUP BY `ld_staff`
として書かれました:構文エラーまたはアクセス違反:1055式#2問合せを改ざんしようとしても、常にこの問題が戻ってきます。それを読むことは、sql_modeのように思われますが、このタイプのクエリはonly_full_group_byで許可されていないので、sql_modeを変更してもこのエラーはそのままです。
幼虫のクエリが
$data = DB::table('lead_distribution')
->join('users','ld_staff','=','users.crm_id')
->select("lead_distribution.ld_staff",'users.name',DB::raw("GROUP_CONCAT(`ld_site`) as sites"))
->where('users.account_type', '=', 1)
->where('users.active', '=', 1)
->where('users.no_more', '=', 0)
->where('users.network_team', '>', 0)
->where('users.renewal_team', '=', 0)
->groupBy('lead_distribution.ld_staff')
->get();
あるすべてのヘルプは
sql_strictモードを無効にする 'database.php'の' strict '=> false; 'を使ってみることができます – jaysingkar
私の神様、そういうばかげて、ありがとうございます – Rlemm1991
これは本当にf ***です私は一日を無駄にしている、とにかく感謝http://stackoverflow.com/users/3687745/jaysingkar –