Laravel雄辩的模型保存错误

时间:2015-11-01 16:27:36

标签: laravel-5 eloquent

我在尝试保存我的雄辩模型时遇到错误,如下所示: 传递给Illuminate \ Database \ Eloquent \ Relations \ HasOneOrMany :: save()的参数1必须是Illuminate \ Database \ Eloquent \ Model的实例,给定字符串,

我有一个模型问题 它有很多答案选项 在另一边AnswerOption属于问题

我有一个模型QuestionRevision 它有很多QuestionRevisionAnswerOption 另一方面,QuestionRevisionAnswerOption属于QuestionRevision

基本上我想将我检索到的问题中的AnswerOptions复制到QuestionRevision的新实例(作为QuestionRevisionAnswerOptions)。

我已成功保存了一个新的QuestionRevision($ origRev)。现在我正在尝试添加随之而来的QuestionRevisionAnswerOptions。这是我得到的错误Argument 1传递给Illuminate \ Database \ Eloquent \ Relations \ HasOneOrMany :: save()必须是Illuminate \ Database \ Eloquent \ Model的实例,给出字符串,

我尝试将QuestionRevisionAnswerOptions一次性保存为使用saveMany的数组,也单独保存,但无论如何都会出现相同的错误。

以下是相关代码:

$original = Question::findOrFail($qId);  // find the original question
$origRev = new QuestionRevision();
// copy some stuff from original to origRev
$origRev->save();  // works to here

// now get the answerOptions from original and copy to $origRev
foreach ($original->answerOptions as $ao)
{
    $answerOption = new QuestionRevisionAnswerOption(['answer_text'=> $ao->answer_text,
                                                 'answer_explanation'   => $ao->answer_explanation,
                                                  'answer_option_id'     => $ao->id,
                                                  'is_correct'           => $ao->is_correct
                                                 ]);


    $origRev->revisionAnswerOptions()->save($answerOption); //This is the line that generates the error.
}

为什么我会收到此错误,如何更正?

0 个答案:

没有答案