Я пытаюсь реплицировать определенные данные в моей БД, и я следовал за шагами как в следующей ссылке. Laravel 4: повторить в таблицу
Однако мне нужно реплицировать некоторые другие данные, используя только внешний ключ. Я пытался использовать метод find () для получения моих данных, но ничего не возвращал. Предложение where возвращает мои данные, но в виде массива, который не принимается повторный метод.
Не знаю, что я делаю не так и как я могу копировать другие мои данные ?!
Код:
$item = Cv::find($cv_id);
// return $item;
$clone = $item->replicate();
unset($clone['created_at'],$clone['updated_at']);
$data = json_decode($clone, true);
Cv::create($data);
//Skills
// return $cv_id;
$skills = Skill::where('cv_id', $cv_id);
$cloneSkills = $skills->replicate();
unset($cloneSkills['created_at'],$cloneSkills['updated_at']);
$skillData = json_decode($cloneSkills,true);
Skill::create($skillData);
Для воспроизведения навыков вы, вероятно, должны использовать:
$skills = Skill::where('cv_id', $cv_id)->get();
foreach ($skills as $skill) {
$cloneSkill = $skill->replicate();
unset($cloneSkill['created_at'], $cloneSkill['updated_at']);
$skillData = json_decode($cloneSkill, true);
Skill::create($skillData);
}
Вам нужно использовать get()
чтобы получить все данные и потому $skills
Для сбора каждого навыка необходимо использовать цикл.
Других решений пока нет …