Laravel克隆/多个集合到模型插入
我正在尝试克隆一个现有记录的集合,并为每个记录创建一个新的模型,其中包含更改的属性,如名称、促销id等Laravel克隆/多个集合到模型插入,laravel,Laravel,我正在尝试克隆一个现有记录的集合,并为每个记录创建一个新的模型,其中包含更改的属性,如名称、促销id等 $source_voice_messages = VoiceMessage::wherePromotionId($promotion_id)->get(); foreach($source_voice_messages as $source_voice_message ){ VoiceMessage::insert($source_voice
$source_voice_messages = VoiceMessage::wherePromotionId($promotion_id)->get();
foreach($source_voice_messages as $source_voice_message ){
VoiceMessage::insert($source_voice_message->toArray());
}
预期行为应该是具有新主id的新记录
我得到:
SQLSTATE[23000]: Integrity constraint violation:
1062 Duplicate entry '83' for key 'PRIMARY'
此外,如何更改$source\u voice\u message->name我用replicate()解决了这个问题
新型号在哪里。两个模型都是相同的。当您拾取相同的模型数据并将其插入相同的模型中时,它将是一个明确的重复值
$voice_message = VoiceMessage::find($source_voice_message->id);
$cloned_voice_message = $voice_message->replicate();
$cloned_voice_message->save();