【发布时间】:2018-11-14 08:24:47
【问题描述】:
在 users 表中,我有一个名为“agencies”的 json 列,它将数据存储为一个简单的数组,如下所示:
[
"0eb2edf0-50cb-44ff-a0a6-b2a104a9dc12",
"f7c748d4-8718-441e-aa69-91b890ead5ed"
],
以上是有效的 json。当我尝试选择包含 0eb2edf0-50cb-44ff-a0a6-b2a104a9dc12 的所有用户时,我得到 null
我的查询正确吗?
$users = User::whereRaw('JSON_CONTAINS(agencies->"$[*]", "0eb2edf0-50cb-44ff-a0a6-b2a104a9dc12")')->get();
考虑到我如何将 uuids 存储为定义为 json 的机构列中的数组,下面是编写 JSON 选择查询的正确方法吗?
'JSON_CONTAINS(agencies->"$[*]", "0eb2edf0-50cb-44ff-a0a6-b2a104a9dc12"
我从阅读中得到了上述选择的想法:Making a Laravel 5.4 query on a JSON field containing a JSON array
但是那篇文章中的解决方案与我正在尝试做的不同,我对其进行的修改并没有给我任何用户,而是我总是得到 null 回来。
【问题讨论】: