Laravel克隆/多个集合到模型插入

Laravel克隆/多个集合到模型插入,laravel,Laravel,我正在尝试克隆一个现有记录的集合,并为每个记录创建一个新的模型,其中包含更改的属性,如名称、促销id等 $source_voice_messages = VoiceMessage::wherePromotionId($promotion_id)->get(); foreach($source_voice_messages as $source_voice_message ){ VoiceMessage::insert($source_voice

我正在尝试克隆一个现有记录的集合,并为每个记录创建一个新的模型,其中包含更改的属性,如名称、促销id等

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