Laravel: 構文エラーまたはアクセス違反: WhereIn および GroupBy 使用時の 1055 エラー
特定の行データの取得について、Laravel では次のことが可能です。同じクエリで WhereIn と GroupBy の両方を使用します。ただし、これにより「構文エラーまたはアクセス違反: 1055 エラー」が発生する場合があります。
エラーの原因
このエラーは次の場合に発生します。
ソリューション
厳密モードを無効にする
MySQL の厳密モードを無効にすることができますconfig/database.php の 'mysql' 配列で 'strict' => false を設定することでモードにします。 file.
'mysql' => [ ... 'strict' => false, ... ],
MySQL オプションにモードを追加
または、厳密モードを有効のままにして、「mysql」配列の「modes」オプションに特定のモードを追加することもできます。
'mysql' => [ ... 'strict' => true, 'modes' => ['STRICT_TRANS_TABLES'], ... ],
WhereIn に GroupBy フィールドを組み込みます
WhereIn 条件で使用される id フィールドも GroupBy フィールド リストに含まれていることを確認します。これにより、エラーの発生を防ぐことができます。
$loadids = explode("#@*", $reciptdet->loading_id); $loadingdatas = DB::table('loading') ->groupBy(['vehicle_no', 'id']) ->whereIn('id', $loadids) ->get();
これらの解決策を実装すると、同じクエリで WhereIn と GroupBy を使用する場合の「構文エラーまたはアクセス違反: 1055 エラー」を解決できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3