本文介绍了laravel雄辩的JSON搜索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我将destinations
字段存储为mysql
示例列值["Goa", "Moonar", "Kochi"]
我希望将与goa
匹配的所有行作为目的地
I would like to get all rows that matches goa
as destinations
但是此行查询返回所需结果
However this row query returns the desired result
SELECT * FROM `packages`
WHERE JSON_CONTAINS(destinations, '["Goa"]');
但是上述查询的雄辩等效项是什么?
But what is the eloquent equivalent of the above query??
Laravel 5.3版
Laravel version 5.3
型号名称:Search
推荐答案
可能被迫使用部分原始查询,例如:
Probably forced to use a partially raw query like:
use DB;
(文件定义的顶部)
DB::table('packages')->whereRaw('json_contains(destinations, \'["Goa"]\')')->get();
如果您有模型:
Package::whereRaw('json_contains(destinations, \'["' . $keyword . '"]\')')->get();
假设上面的查询在SQL中有效.
assuming your query above works in SQL.
这篇关于laravel雄辩的JSON搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!