我有events带有 json 列的表guests。guests字段的数据如下所示:
{"lines":
[{"men":1,
"women":1,
"children":1,
"language_id":291,
"language_name":"test",
}],
[{"men":1,
"women":1,
"children":1,
"language_id":292,
"language_name":"test2",
}],
"totalMen":2,
"totalWomen":2,
"totalChildren":2,
"total":6,}
我需要使用特定的 language_id 在控制器中获取事件。但是字段guests内部可以有多个数组lines,所以我需要以某种方式检查特定语言 ID 的所有行。现在我这样做:
$language = Language::findOrFail($lid);
$events = Event::get();
foreach($events as $event) {
foreach($event['guests']['lines'] as $line){
if($line['language_id'] === $language->id) {
// do smth
break;
}
}
}
有没有办法根据我的条件在 laravel 中使用查询构建器获取事件,所以我不需要先获取所有事件,然后再过滤它们?
九州编程
呼如林