Laravel-使用透视表数据插入多行
我有三张桌子:Laravel-使用透视表数据插入多行,laravel,eloquent,Laravel,Eloquent,我有三张桌子: 问题 答复 问题及答案 问题模式: public function answer() { return $this->belongsToMany(Answer::class); } 我创建了一个页面,在其中键入一个问题和4个答案,然后将它们插入数据库 $question = new Question; $question->title = $request->question_title;
public function answer()
{
return $this->belongsToMany(Answer::class);
}
我创建了一个页面,在其中键入一个问题和4个答案,然后将它们插入数据库
$question = new Question;
$question->title = $request->question_title;
$question->save();
$answers = $request->answers;
$answer = Answer::insert($answers);
如何为每个问题插入问题\u答案
问题\答案如下所示:
我找不到如何使用
insert
method的线索,因为您使用的是多对多关系,所以应该使用这个方法。例如:
$question = Question::create($request->question); // Save question.
$answersIds = [];
foreach ($request->answers as $answer) {
$answersIds [] = Answer::create($answer)->id; // Save each answer.
}
$question->answers()->attach($answersIds); // Attach answers to the question.
此外,您不能使用insert()
批量插入答案,因为您需要获得答案ID才能将答案附加到问题