我试图将数据保存到QuestionOption表中,并面临检测到的递归问题。我一直在到处寻找,但能找到这个问题的任何答案。下面是我试图将数据保存到DB中的位置。
$question = new Question();
$question->type = $request->type;
$question->optional = $request->optional;
$question->question = $request->question;
$question->status = $request->status;
$question->save(); ////// WORKS PERFECTLY TILL THIS LINE
if ($request->type == 'choice') {
foreach ($request->options as $key => $option) {
$option = new QuestionOption(); ////////HERE I AM FACING THAT ERROR
$option->question_id = $question->id;
$option->option = $option;
$option->status = 'active';
$option->save();
}
}下面是我为QuestionOption使用的模型,我没有发现任何问题。
class QuestionOption extends Model
{
protected $dates = [
'created_at',
'updated_at',
];
protected $fillable = [
'question_id',
'option',
'status',
'created_at',
'updated_at',
];
}请带我走过这段路。谢谢!
发布于 2020-07-01 07:28:28
你犯了个愚蠢的错误。您正在使用$option变量作为foreach循环并作为QuestionOption类的一个实例。当您将$option->option = $option;赋值为$option时,这里出现了错误,因为$option现在是QuestionOption类的实例,而不是foreach循环中的变量。更改变量名。在前缘循环中类似
foreach ($request->options as $key => $value) {
$option = new QuestionOption();
$option->question_id = $question->id;
$option->option = $value;
$option->status = 'active';
$option->save();
}发布于 2022-11-02 06:51:12
在我的例子中,我在外键中传递对象。
$user = auth()->user();
$post = Post::create([
'post_id' => $user
]);正确语法
$user = auth()->user();
$post = Post::create([
'post_id' => $user->id
]);https://stackoverflow.com/questions/62671282
复制相似问题