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才能将答案附加到问题