我在尝试保存我的雄辩模型时遇到错误,如下所示: 传递给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.
}
为什么我会收到此错误,如何更正?