Maison >développement back-end >tutoriel php >Comment corriger « Erreur de syntaxe ou violation d'accès : erreur 1055 » de Laravel avec WhereIn et GroupBy ?

Comment corriger « Erreur de syntaxe ou violation d'accès : erreur 1055 » de Laravel avec WhereIn et GroupBy ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-10 15:33:09979parcourir

How to Fix Laravel's

Dépannage de Laravel "Erreur de syntaxe ou violation d'accès : erreur 1055" lors de l'utilisation de WhereIn et GroupBy

Dans Laravel, combiner WhereIn et GroupBy dans une seule requête peut parfois conduire à "Erreur de syntaxe ou violation d'accès : erreur 1055." Cela est dû à un paramètre de configuration MySQL appelé strict.

Réponse courte

Dans le fichier config/database.php, vous pouvez désactiver toutes les options strictes en définissant :

'mysql' => [
    'strict' => false
]

Réponse détaillée

Au lieu de désactiver toutes les options strictes, vous pouvez également autoriser de manière sélective le regroupement par colonne en ajoutant le Mode ONLY_FULL_GROUP_BY :

'mysql' => [
    ...
    'strict' => true,
    'modes' => [
        'ONLY_FULL_GROUP_BY'
    ]
]

Pour une discussion complète sur ce problème, reportez-vous à la réponse suivante :

[Problème GitHub : "Erreur de syntaxe ou violation d'accès : erreur 1055" lors de la combinaison de WhereIn et GroupBy](https://github.com/laravel/framework/issues/2981)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn