Laravel复制多行不成功?

问题描述 投票:1回答:1

我想用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);

上面的代码对于多行复制不起作用。

php laravel-5 eloquent replicate
1个回答
0
投票

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();
}

它将复制多行。

© www.soinside.com 2019 - 2024. All rights reserved.