猿问

在这种情况下如何使用 Laravel 存储多个数据?

我正在使用 axios 发送一组数据,如下所示:


originalData:Object

  19:"ae"

  20:"aze"

  21:"aze"

  22:"aze"

  23:"aze"

  24:"aez"

  79:"az"

  80:"aza"

  81:"az"

  83:"az"

每个 id 对应一个问题的 id。而id的每一个文字都对应着他的回答。


我的表answers包含这个结构:


id, answer, user_id, question_id


我想为每个答案在数据库中创建新行。在id必须存储在列question_id与列文answer


我试过这样的事情:


public function store(Request $request)

    {

        $data = $request->all();


        $finalArray = [];


        foreach ($data as $key => $value) {

            array_push($finalArray, [

               'user_id' => auth()->user()->id,

               'question_id' => ??,

               'answer' => ??

            ]);

        }


        Answer::insert($finalArray);

    }

不知道是不是正确的方法。无论如何,在这种情况下,我不知道如何获取id问题的文本。


你能帮助我吗 ?


红糖糍粑
浏览 149回答 1
1回答

慕仙森

我认为你可以这样做:public function store(Request $request)    {        $data = $request->all();        foreach ($data as $key => $value) {            Answer::create([                 'user_id' => auth()->user()->id,                 'question_id' => $key, // $key will be 19, 20...                 'answer' => $value // $value 'ae', 'aze' ...            ]);        }    }这应该可以正常工作。如果您有任何错误,请在此处提供。
随时随地看视频慕课网APP
我要回答