In Laravel 6, use WHEREJSONContains to query the data in the JSON type field (structure is an array)
1. In MySQL 5.7, the data in the json type field is an array, and its value is:[365]. as shown in Figure 1
2. Reference: Query the constructor – where statement – json where statement:https://learnku.com/docs/laravel/6.x/queries/5171#35d9d9. JSON arrays can be queried using WhereJsonContains. as shown in Figure 23. The code is implemented as follows
$themeSaasTaskId = 365;
$themeSaasTasks = ThemeSaasTask::whereJsonContains('theme_task_ids', $themeSaasTaskId)->get();
print_r($themeSaasTasks);
exit;
4. Print the query results as follows, in line with expectations
Illuminate\Database\Eloquent\Collection Object
(
[items:protected] => Array
(
[0] => Modules\ThemeStoreDB\Entities\ThemeSaasTask Object
(
[table:protected] => theme_saas_task
[attributes:protected] => Array
(
[id] => 2
[type] => update_theme
[theme_task_ids] => [365]
[created_at] => 2022-12-21 08:06:49
[updated_at] => 2022-12-21 08:06:51
)
[fillable:protected] => Array
(
)
[connection:protected] => mysql
[primaryKey:protected] => id
[keyType:protected] => int
[incrementing] => 1
[with:protected] => Array
(
)
[withCount:protected] => Array
(
)
[perPage:protected] => 15
[exists] => 1
[wasRecentlyCreated] =>
[original:protected] => Array
(
[id] => 2
[type] => update_theme
[theme_task_ids] => [365]
[created_at] => 2022-12-21 08:06:49
[updated_at] => 2022-12-21 08:06:51
)
[changes:protected] => Array
(
)
[casts:protected] => Array
(
)
[dates:protected] => Array
(
)
[dateFormat:protected] =>
[appends:protected] => Array
(
)
[dispatchesEvents:protected] => Array
(
)
[observables:protected] => Array
(
)
[relations:protected] => Array
(
)
[touches:protected] => Array
(
)
[timestamps] => 1
[hidden:protected] => Array
(
)
[visible:protected] => Array
(
)
[guarded:protected] => Array
(
[0] => *
)
)
)
)
5. The generated SQL is as follows, as shown in Figure 3
select * from `theme_saas_task` where json_contains(`theme_task_ids`, '365')
![在 MySQL 5.7 中,json 类型字段中的数据是数组,其值为:[365]](https://www.shuijingwanwq.com/wp-content/uploads/2022/12/1-11.png)

