Laravel Eloquent 使用 Where In? 查询 JSON 列
问题描述
我在查询 json 列时遇到问题.
I am having trouble querying a json column.
以前我的代码是
现在我已将 db 类型更改为 JSON 列,并且正在尝试修改新版本的代码.
Now i have changed the db type to JSON column and am trying to modify the code for the new version.
在 RAW MYSQL 中这是有效的
In RAW MYSQL this works
但是当我把它放在 eloquent/php 中时,它一直失败或返回注释.在这里,我传入了一组用户,之前使用的是在原始 SQL 中工作的 WhereIn
But when i put it in eloquent / php it keeps failing or returning noting. Here i am passing in an array of Users, previous using an WhereIn which works in raw SQL
任何想法如何使它在 Laravel 中工作,以便我可以传入一个字符串数组,并针对包含一个字符串数组的 json 列查询它们.
Any idea how to make it work in Laravel so i can pass in an array of strings, query them against the json column which contains an array of strings too.
我的 Json 列有这样的数据
My Json colum has data like so
推荐答案
MySQL 需要一个 JSON 字符串:
MySQL expects a JSON string:
在 Laravel 5.6.24 中你可以使用 whereJsonContains()
:
In Laravel 5.6.24 you can use whereJsonContains()
:
这篇关于Laravel Eloquent 使用 Where In? 查询 JSON 列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!