我有一个循环,我从数据库中获取项目,目前我的数组中有 314 个 id,我得到这样的项目。
$s_standards = [];
$s_sub_category = [];
foreach ($sanitized_needs['standard'] as $skey => $standard) {
$sname = DB::table('lesson_observation_teacher_standards')->where('id', $standard)->first()->name;
$s_standards[] = $sname;
foreach ($sanitized_needs['sub_category'] as $key => $substandard) {
$name = DB::table('lesson_observation_teacher_standard_categories')->where('id', $substandard)->first()->name;
if ($key == $skey) {
$s_sub_category[$sname][] = $name;
}
}
}
我知道我可以使用WhereIn,但我需要重复项来计算类别。
两者$santized_needs['standard']都有$santized_needs['sub_category']314 个 ID。但是当它运行时它会抛出500 internal server error但是当我将查询注释掉并用字符串替换它们时它可以工作。我的猜测是数据库正在限制大量查询。laravel.log浏览器中的网络选项卡和网络选项卡都没有错误消息。
有什么办法可以禁用对数据库或 laravel 的限制?
更新:这里有一些$sanitized_needs数组示例。
array:2 [
"standard" => array:312 [
0 => "C216114B-8751-3874-9154-FC22679569E0"
1 => "871E5F62-0E1B-3338-969C-2DC4604C8722"
2 => "B0161059-E9F6-376E-8BB1-B4BF1B10C30F"
3 => "D1380FB6-37A8-3B3B-B877-A5AF21D9385F"
4 => "D1380FB6-37A8-3B3B-B877-A5AF21D9385F"
5 => "676038A6-13D0-32CC-BAD7-A7DA9CFB28EA"
6 => "D1380FB6-37A8-3B3B-B877-A5AF21D9385F"
7 => "C216114B-8751-3874-9154-FC22679569E0"
8 => "676038A6-13D0-32CC-BAD7-A7DA9CFB28EA"
9 => "676038A6-13D0-32CC-BAD7-A7DA9CFB28EA"
10 => "C216114B-8751-3874-9154-FC22679569E0"
...
]
跃然一笑
大话西游666
随时随地看视频慕课网APP