如何解决为什么 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 举报,一经查实,本站将立刻删除。