Laravel,“修改”集合仅保存最后一个值
我试图修改集合,但修改后的值不正确,它只保存最后一个IDLaravel,“修改”集合仅保存最后一个值,laravel,Laravel,我试图修改集合,但修改后的值不正确,它只保存最后一个ID public function addAllQuizsToActivities($activities){ foreach ($activities as $key => $activity) { if($activity->activity_type_id == env("QUIZ_TYPE_ID") && !isset($activity->
public function addAllQuizsToActivities($activities){
foreach ($activities as $key => $activity) {
if($activity->activity_type_id == env("QUIZ_TYPE_ID") && !isset($activity->quiz_submit_id)){
$quiz_submit_ids = QuizSubmit::where('quiz_id', $activity->id)->pluck('id');
foreach ($quiz_submit_ids as $quiz_submit_id) { // values = 1,2,3,4
$activity->quiz_submit_id = $quiz_submit_id;
dump($activity->quiz_submit_id);
$activities->push($activity);
}
$activities->forget($key);
}
}
return $activities;
}
但是最后,$activities
使用quick\u submit\u id
只保存最后一个id(4
)。
我的逻辑有些问题,但我不确定是什么问题。您确定您的逻辑正确吗!isset($activity->quick\u submit\u id)将阻止
if
语句执行,前提是quick\u submit\u id
具有真实值,这意味着不会将任何内容推送到该集合元素。