我将 destinations
字段存储为 json
类型 mysql
示例列值 ["Goa", "Moonar", "Kochi"]
我想获取所有匹配 goa
的行作为目的地
但是此行查询返回所需的结果
SELECT * FROM `packages`
WHERE JSON_CONTAINS(destinations, '["Goa"]');
但是上述查询的 Eloquent 等效项是什么?
Laravel 版本 5.3
模型名称:搜索
最佳答案
可能被迫使用部分原始查询,例如:
使用 DB;
(文件定义顶部)
DB::table('packages')->whereRaw('json_contains(destinations,\'["Goa"]\')')->get();
如果你有一个模型:
Package::whereRaw('json_contains(destinations,\'["' . $keyword . '"]\')')->get();
假设您上面的查询在 SQL 中有效。
关于php - laravel 中的 JSON 搜索 Eloquent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41942374/