Laravel Json column & value is integer with where?

Laravel Json column & value is interger with where?

subcategory_id 列数据采用 JSON 格式 喜欢 :

["3","4","5"]

现在我想 select 来自 table 的所有数据,其中 subcategory_id = 3。如何使用 Laravel 查询构建器来做到这一点?

你可以用这个。

DB::table('table_name')->whereJsonContains('subcategory_id ','3')->get();

我和 whereJsonContains 有同样的问题。确保以正确的格式插入数据,因为如果您尝试像这样插入到 JSON 列,则不会出现错误:

YourTable::factory()->create([
   'subcategory_id' => '3' // this should be like ['3']
]);

如果数据插入正确,可以使用whereJsonContains,

YourTable::whereJsonContains('subcategory_id', "3")->get();

returns subcategory_id 数组列中的所有行都有“3”。

This feature is not supported by the SQLite database