Laravel Seeder - 在 for 循环中遍历数组
Laravel Seeder - iterate through an array within a for loop
我想根据另一个 table 的行中的 ID 为 table 的列播种。
行数:
$audits = Audit::where('audit_id', $auditScore->id)->pluck('id')->all();
其中 returns 个 ID 数组(其中 18 个)。
对于上述数组中的每个 ID,我想将它们添加到以下结果的 with
关系中的每个结果中:
$reAudit = ReAuditScore::where('audit_score_id', $auditScore->id)
->with('audits')
->get();
如何遍历数组并添加 ID?
这是一个不完整的答案,因为我没有完全理解您的要求。但是,在这里回复比在评论中回复更容易。
这样的东西能满足您的要求吗?
遍历 $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]);
}
我想根据另一个 table 的行中的 ID 为 table 的列播种。
行数:
$audits = Audit::where('audit_id', $auditScore->id)->pluck('id')->all();
其中 returns 个 ID 数组(其中 18 个)。
对于上述数组中的每个 ID,我想将它们添加到以下结果的 with
关系中的每个结果中:
$reAudit = ReAuditScore::where('audit_score_id', $auditScore->id)
->with('audits')
->get();
如何遍历数组并添加 ID?
这是一个不完整的答案,因为我没有完全理解您的要求。但是,在这里回复比在评论中回复更容易。
这样的东西能满足您的要求吗?
遍历 $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]);
}