我想用diff job id将多条关系型行复制到同一张表上,但是没有成功。
以下是我的代码
$parentJobUnits = Unit::where('job_id',$jobId)->get(); //may be single or multiple rows for units.
$JobCopy = $job->replicate()->save(); //main job copied for new units.
$partsCopy = array_map(function(Unit $unit) use($JobCopy)
{
$newUnit = $unit->replicate();
$newUnit->job_id = $JobCopy->id;
return $newUnit->save();
}, $parentJobUnits);
上面的代码对于多行复制不起作用。
replicate()
函数不工作 get()
功能。它只适用于 find()
功能。
$parentJobUnits = Unit::where('job_id',$jobId)->get();
foreach($parentJobUnits as $key => $value)
{
$new_unit = Unit::find($value->id)->replicate(); // $value->id is your primary key
$new_unit->save();
}
它将复制多行。