Laravel Clone / Multi Collection для вставки модели - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь клонировать коллекцию существующих записей и создать новую модель для каждой с изменяющимися свойствами, такими как имя, продвижение_id и т. Д.

$source_voice_messages =  VoiceMessage::wherePromotionId($promotion_id)->get();

        foreach($source_voice_messages as $source_voice_message ){

            VoiceMessage::insert($source_voice_message->toArray());
        }

ожидаемое поведение должно быть новой записи с новойосновной идентификатор

Я получаю:

SQLSTATE[23000]: Integrity constraint violation:
1062 Duplicate entry '83' for key 'PRIMARY' 

Кроме того, как бы изменить $ source_voice_message-> name

1 Ответ

0 голосов
/ 29 мая 2018

Я решил это с replicate ()

$voice_message = VoiceMessage::find($source_voice_message->id);

            $cloned_voice_message = $voice_message->replicate();
            $cloned_voice_message->save();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...