Laravel: 구문 오류 또는 액세스 위반: WhereIn 및 GroupBy 사용 시 1055 오류
특정 행 데이터 검색의 경우 Laravel을 사용하면 다음을 수행할 수 있습니다. 동일한 쿼리에서 WhereIn과 GroupBy를 모두 사용합니다. 그러나 이로 인해 "구문 오류 또는 액세스 위반: 1055 오류"가 발생할 수 있습니다.
오류 원인
이 오류는 다음과 같은 경우에 발생합니다.
솔루션
엄격 모드 비활성화
MySQL의 엄격 모드를 비활성화할 수 있습니다. config/database.php의 'mysql' 배열에서 'strict' => false를 설정하여 file.
'mysql' => [ ... 'strict' => false, ... ],
MySQL 옵션에 모드 추가
또는 엄격 모드를 활성화한 상태로 두고 'mysql' 배열의 '모드' 옵션에 특정 모드를 추가할 수 있습니다.
'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