"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Laravel WhereIn e GroupBy: Como resolver o erro 1055 do MySQL?

Laravel WhereIn e GroupBy: Como resolver o erro 1055 do MySQL?

Publicado em 2024-12-21
Navegar:589

Laravel WhereIn and GroupBy: How to Resolve MySQL's 1055 Error?

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:

  • O modo estrito está habilitado nas configurações do MySQL.
  • O campo id, que é usado na condição WhereIn, não está incluído no Lista de campos GroupBy.

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.

Tutorial mais recente Mais>

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