微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 foreach 循环中的 Laravel 集合总是选择最后一个数组?

如何解决为什么 foreach 循环中的 Laravel 集合总是选择最后一个数组?

where 子句条件后有 12 个作业行。所以我用foreach语句得到了12组属性ID。总共有大约 500 个属性分为 12 组(数量不同)。最后一个数组有 40 个属性 ID。我想将所有 500 个属性 ID 都放入 $attributesId 中,但此代码只能获取最后 40 个属性 ID(使用 dd 看到它)。我认为 collect() 方法不断将新集合替换为 $attributesId ,但我不知道如何累积插入它们。其他一切都有效。请帮忙。

$jobLines = JobLine::where('job_id',$job->id)
            ->whereHas('jobType',function ($q) {
                $q->where('code','Job_Code');
            })
            ->get();

foreach ($jobLines as $jobLine) {
     $jobChildren = JobTypeChild::all();
     $attributesId = collect($jobLine->attributes->toArray());
        ->pluck('job_type_attribute_id');

     $this->jmAttributes = JobTypeAttribute::whereIn(
           'job_type_attributes.id',$attributesId
           )->join(
                    ...table columns joining
                )
            ->where('job_line_id',$jobLine->id)
            ->pluck(
                 'job_line_attributes.value','attribute_fields.name'
             )
             ->toArray();
}
dd($attributesId);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。