使用一对多关系保存数据

Save Data using One to Many relationshiop

我有几个问题的答案。我提交的问题输入如下。

<input name="question" type="text" class="form-control" placeholder="Place your question here">

我正在动态添加多个答案。我的答案输入框如下所示。

<input name="answer[]" type="text" class="form-control" placeholder="Place your answer here">

我使用 'id'、'question'、'created_at'、'updated_at'.

这些列提出了问题 Table

我使用 'id'、'question_id'、'answer'、'created_at'、'updated_at'、[=14= 这些列做出了回答 Table ]

我正在使用下面的代码来保存问题和答案。

public function add_form(Request $request)
    {        
        $question = Question::create(['question' => request()->input('question')]);

        $question->answers()->create([request()->input('answer')]);
    }

我遇到了以下错误。

 SQLSTATE[HY000]: General error: 1364 Field 'answer' doesn't have a default value (SQL: insert into `answers` (`question_id`, `updated_at`, `created_at`) values (4, 2021-08-05 11:56:16, 2021-08-05 11:56:16))

首先将单维数组映射到多维数组。

 $answer=collect(request()->answer)->transform(function ($item){
            return ['answer'=>$item];
        })->toArray();

同时保存

 $question->answers()->createMany($answer);