首页 > 数据库 > mysql教程 > 如何在 Laravel 的'收件人”列中的 JSON 数组中搜索电子邮件?

如何在 Laravel 的'收件人”列中的 JSON 数组中搜索电子邮件?

Patricia Arquette
发布: 2024-10-29 04:21:29
原创
819 人浏览过

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

在 Laravel 中搜索 JSON 列

在 Laravel 中使用 JSON 列时,搜索特定值可能具有挑战性。以下是在“收件人”列中存储的 JSON 数组中查找电子邮件的常见问题的解决方案。

问题:

在“电子邮件”表中,JSON 类型的“收件人”列包含表示电子邮件地址的嵌套数组。目标是检索发送给特定收件人的所有电子邮件的集合。

尝试失败:

使用 Laravel 的 whereJsonContains 方法进行搜索的初始尝试导致没有匹配项。查询“翻译”为:

select * from `emails` where json_contains(`to`->'$."emailAddress"."address"', '\"[email protected]\"'))
登录后复制

解决方案:

成功搜索的关键在于理解箭头运算符(->)不使用数组。对于涉及数组的 JSON 搜索,请使用以下语法:

DB::table('emails')
   ->whereJsonContains('to', [['emailAddress' => ['address' => '[email protected]']]])
   ->get()
登录后复制

此查询将正确识别并返回发送到指定收件人地址的所有电子邮件。

以上是如何在 Laravel 的'收件人”列中的 JSON 数组中搜索电子邮件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板