Laravel DB 失去连接(大概)

我有一个循环,我从数据库中获取项目,目前我的数组中有 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"

    ...

  ]



跃然一笑
浏览 158回答 1
1回答

大话西游666

尝试了所有我可以最终改变这部分代码的方法$s_standards = [];$s_sub_category = [];$all_subs = DB::table('lesson_observation_teacher_standard_categories')->pluck('name','id')->toArray();            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 = $all_subs[$substandard];                    if ($key == $skey) {                        $s_sub_category[$sname][] = $name;                    }                }            }现在我只是预加载类别并在数组中搜索它们。
打开App,查看更多内容
随时随地看视频慕课网APP