Eloquent - 在列中搜索 ID,如 ['4','6','8'] (PHP Laravel)

yag*_*nde 1 php mysql json laravel eloquent

我迷路了......我无法在数据库中获取我的数据......

所以我有一个名称为:准备和字段的表

ID, ..., ..., 参与者,.., ... .

我使用 json_encode 函数将另一个表的 ID 存储在参与者字段中,如下所示:['4','6','8']。

我想用给定的 ID 检索所有结果。例如,如果我有:

ID---name---participants--------otherfield
1---Step1---['6','8']-----------lorem1
2---Step2---['4','7','8']-------lorem2
3---Step3---['2','3','6','9']---lorem3
Run Code Online (Sandbox Code Playgroud)

我想检索所有编号为 6 的行,因此第 1 行和第 3 行。我使用 eloquent 或 querybuilder 进行了几次测试,但没有结果。例如我试过这个:

$idToFind = 6;
$query = PreparationStep::
      whereRaw("JSON_CONTAINS(participants, ".$idToFind.")")
    ->get();
Run Code Online (Sandbox Code Playgroud)

请帮我。

Sur*_*mar 6

在此处输入图片说明

这是我在主题表中的 json 列

foreach ($order as $key => $value) {
$arr[]="$value->id";    
Run Code Online (Sandbox Code Playgroud)

} $arr=json_encode($arr);// 制作动态json数组

$data=Subject::whereRaw('json_contains(course_id, \''.$arr.'\')')->get();