0

我正在尝试在我的数据库中复制某些数据,并按照以下链接中的步骤进行操作。Laravel 4:复制到表 但是,我需要仅使用外键复制一些其他数据。我尝试使用 find() 方法获取我的数据但没有返回任何内容。where 子句返回我的数据但以数组的形式复制方法不接受它。

Anhy 知道我做错了什么以及如何复制我的其他数据?!

代码:

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

1 回答 1

1

对于复制技能,您可能应该使用:

$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是 Collection,您需要使用循环来复制每个技能。

于 2014-10-02T12:23:53.363 回答