我想基于另一个表格行中的ID为一个表格列播种。
行数:
$audits = Audit::where('audit_id', $auditScore->id)->pluck('id')->all();
返回一个ID数组(其中18个)。
对于上述数组中的每个ID,我想将它们添加到以下结果的with
关系中的每个结果中:
$reAudit = ReAuditScore::where('audit_score_id', $auditScore->id)
->with('audits')
->get();
如何遍历数组并添加ID?
答案 0 :(得分:0)
这是一个不完整的答案,因为我不完全了解您的要求。但是,这里的回复比评论更容易。
这样的事情能满足你的需求吗?
在遍历$reAudit->audits
时,您需要确保有相同数量的$auditIds
,或在使用前检查它们是否存在。
$auditIds = Audit::where('audit_id', $auditScore->id)->pluck()->all();
$reAudit = ReAuditScore::where('audit_score_id', $auditScore->id)
->with('audits')
->get();
foreach ($reAudit->audits as $i => $audit) {
if (! empty($auditIds[$i]) {
$audit->update(['audit_id' => $auditIds[$i]]);
}
}
或从另一个方向接近它:
$auditIds = Audit::where('audit_id', $auditScore->id)->pluck()->all();
$reAudit = ReAuditScore::where('audit_score_id', $auditScore->id)
->with('audits')
->get();
foreach ($auditIds as $i => $auditId) {
if (! ($audit = $reAudit->audits->get($i))) break;
$audit->update(['audit_id' => $auditId]);
}