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

Comment rechercher des e-mails dans un tableau JSON dans la colonne « À » de Laravel ?

Patricia Arquette
Libérer: 2024-10-29 04:21:29
original
762 Les gens l'ont consulté

How to Search for Emails within a JSON Array in Laravel's

Recherche de colonnes JSON dans Laravel

Lorsque vous travaillez avec des colonnes JSON dans Laravel, la recherche de valeurs spécifiques peut être difficile. Voici une solution au problème fréquemment rencontré de localisation des e-mails dans un tableau JSON stocké dans une colonne "À".

Le problème :

Dans une table "e-mails" , une colonne « À » de type JSON contient des tableaux imbriqués représentant les adresses e-mail. L'objectif est de récupérer une collection de tous les e-mails envoyés à un destinataire particulier.

Tentative infructueuse :

Une première tentative de recherche à l'aide de la méthode WhereJsonContains de Laravel n'a abouti à aucune correspondance. . La requête "traduite" par :

select * from `emails` where json_contains(`to`->'$."emailAddress"."address"', '\"[email protected]\"'))
Copier après la connexion

Solution :

La clé d'une recherche réussie réside dans la compréhension que l'opérateur fléché (->) ne travailler avec des tableaux. Pour les recherches JSON impliquant des tableaux, utilisez la syntaxe suivante :

DB::table('emails')
   ->whereJsonContains('to', [['emailAddress' => ['address' => '[email protected]']]])
   ->get()
Copier après la connexion

Cette requête identifiera et renverra correctement tous les e-mails envoyés à l'adresse du destinataire spécifié.

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