Репликация с использованием внешнего ключа — Laravel

Я пытаюсь реплицировать определенные данные в моей БД, и я следовал за шагами как в следующей ссылке. 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);

0

Решение

Для воспроизведения навыков вы, вероятно, должны использовать:

$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 Для сбора каждого навыка необходимо использовать цикл.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]