本文介绍了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搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-10 10:08