Laravel: Erro de sintaxe ou violação de acesso: erro 1055 ao usar WhereIn e GroupBy
Para uma recuperação de dados de linha específica, o Laravel nos permite use WhereIn e GroupBy na mesma consulta. No entanto, isso às vezes pode resultar em um "Erro de sintaxe ou violação de acesso: Erro 1055".
Causas do erro
Este erro ocorre quando:
Soluções
Desativar modo estrito
Você pode desativar o modo estrito do MySQL configurando ' strict' => false no array 'mysql' do arquivo config/database.php.
'mysql' => [ ... 'strict' => false, ... ],
Adicionar modos às opções do MySQL
Alternativamente, você pode deixar o modo estrito ativado e adicionar modos específicos à opção 'modes' do array 'mysql':
'mysql' => [ ... 'strict' => true, 'modes' => ['STRICT_TRANS_TABLES'], ... ],
Incorpore o campo GroupBy em WhereIn
Certifique-se de que o campo id usado na condição WhereIn também esteja incluído na lista de campos GroupBy. Isso evitará que o erro ocorra.
$loadids = explode("#@*", $reciptdet->loading_id); $loadingdatas = DB::table('loading') ->groupBy(['vehicle_no', 'id']) ->whereIn('id', $loadids) ->get();
Ao implementar essas soluções, você pode resolver o "Erro de sintaxe ou violação de acesso: Erro 1055" ao usar WhereIn e GroupBy na mesma consulta.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3