0

Seofilter db 表有名为 category_ids 的 json 列。我想查询json col中存在的值。

而不是查询所有行并获取它们的 jsoncol 值然后爆炸等,由于服务器负载,我想用更少的对服务器的查询来做到这一点。

例如 [{60, 59, 57}] 或 [{55, 58, 60}] 所以 60 都存在。

4

2 回答 2

1

Laravel 5.6.24 包括whereJsonContains()

DB::table('seofilter')->whereJsonContains('category_id', 60)->get();
DB::table('seofilter')->whereJsonContains('category_id', [60, 61, ...])->get();
于 2018-06-05T00:49:13.650 回答
0

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

于 2018-05-19T11:16:09.987 回答