Maison > base de données > tutoriel mysql > le corps du texte

Comment rechercher des e-mails dans une colonne JSON avec WhereJsonContains de Laravel : pourquoi `->` ne fonctionne-t-il pas et quelle est la solution ?

Mary-Kate Olsen
Libérer: 2024-11-01 16:02:02
original
898 Les gens l'ont consulté

 How to Find Emails in a JSON Column with Laravel's whereJsonContains: Why Doesn't `->` Le travail et quelle est la solution ? 
` Le travail et quelle est la solution ? " />

Rechercher des e-mails dans une colonne JSON avec Laravel

Laravel fournit des outils puissants pour travailler avec des bases de données JSON, permettant aux développeurs de stocker et de récupérer efficacement des données complexes. Un une tâche courante consiste à rechercher dans une colonne JSON, ce qui peut s'avérer difficile en raison de la nature des données JSON.

Le problème : la requête JsonContains ne correspond pas

Dans le Dans l'exemple fourni, l'utilisateur tente de récupérer des e-mails avec une adresse spécifique à partir d'une table avec une colonne JSON. Cependant, la requête utilisant WhereJsonContains ne renvoie aucun résultat, car les sous-requêtes JSON ne peuvent pas utiliser l'opérateur de flèche ("->"). ) dans des contextes de tableau.

Solution : Utiliser des tableaux dans les requêtes

Pour effectuer une recherche dans un tableau JSON, Laravel nécessite l'utilisation de tableaux dans la requête "whereJsonContains". La méthode prend un tableau comme deuxième paramètre, chaque élément représentant un critère de correspondance.

Dans ce cas, la requête correcte serait :

<code class="php">DB::table('emails')
    ->whereJsonContains('to', [['emailAddress' => ['address' => '[email&#160;protected]']]])
    ->get();</code>
Copier après la connexion

En utilisant un tableau dans la sous-requête, Laravel peut rechercher correctement les e-mails avec l'adresse spécifiée. Cela résout le problème où l'opérateur de flèche ne fonctionne pas dans les tableaux et garantit que la requête correspond aux résultats souhaités.

Cette approche permet aux développeurs de récupérer efficacement les données de colonnes JSON complexes, ce qui en fait un outil précieux pour travailler avec les bases de données JSON dans les applications Laravel.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!