用laravel查询sql中的json列

roejwanj  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(511)

seofilter db表具有名为category\u id的json列。我想查询json列中存在值的位置。
不要查询所有的行,得到它们的jsoncol值,然后分解等等,因为服务器负载的原因,我想用更少的查询来完成。
例如[{60,59,57}]或[{55,58,60}],所以60两者都存在。

wko9yo5t

wko9yo5t1#

laravel 5.6.24包括 whereJsonContains() :

DB::table('seofilter')->whereJsonContains('category_id', 60)->get();
DB::table('seofilter')->whereJsonContains('category_id', [60, 61, ...])->get();
ncgqoxb0

ncgqoxb02#

mysql有一组json操作和搜索功能,我相信你会在这里找到你想要的东西,从json开始https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#function_json-包含
这显然符合你提供的例子。

相关问题