php - laravel 中的 JSON 搜索 Eloquent

标签 php mysql laravel-5

我将 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/

相关文章:

php - Symfony2 FOSUserBundle 不使用 UserManager 提供缓存的用户实体

php - 为什么在使用 zend 框架时脚本会被赋予 .phtml 扩展名?

mysql - 显示mysql的具体结果

php - 使用 laravel 在垂直列中动态创建带有标题的 HTML 表?

php - Laravel 登录 session

php - 执行Laravel Eloquent 'select'语句满足多个相关表中的条件

Javascript如何提交表单?

php - 命名 cookie - 最佳实践

php - 在php中使用json_encode的Mysql更新查询问题

c# - 网站内容的搜索方法