首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel中有没有其他方法可以在json列中进行搜索,比如whereJsonContains?

在Laravel中有没有其他方法可以在json列中进行搜索,比如whereJsonContains?
EN

Stack Overflow用户
提问于 2021-06-02 23:34:52
回答 1查看 81关注 0票数 1

json栏目社交的结构如下:

{"1":{"type":"Facebook","url":"fb.com\/rahul"},"2":{"type":"Twitter","url":"twt.com\/rahul"}}

在模型内部,社交列被强制转换为AsArrayObject::class

所以,我想要在社交栏目中获得"type" : "Facebook"所在的所有模型。为此,我尝试使用whereJsonContains,如下所示:

代码语言:javascript
复制
public function index()
    {
        return Creator::whereJsonContains('socials.type','Facebook')->get();
    }

但是这段代码给出的值是空值。帮我得到所有的模型,其中"type" : "Facebook"存在于社交栏目中。

EN

回答 1

Stack Overflow用户

发布于 2021-06-04 08:50:41

您应该使用->运算符而不是点符号来查询列。参见:https://laravel.com/docs/8.x/queries#json-where-clauses (第一段)。

此外,您的查询语法与您的数据集不匹配,因为您试图访问数据集中的第一级属性,而您的数据集是嵌套的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67808225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档