首页 > 解决方案 > 如何在 laravel 中修改请求文本

问题描述

我想不出一个好的标题我很抱歉,但我需要帮助。

我有一个由 jquery 添加的字段,具体取决于数据库中存在多少问题,因此例如我在数据库中有 3 个问题我也将有 3 个答案字段,它看起来像这样:

answer_1 answer_2 answer_3

因为我不确定有多少问题,我需要在控制器中循环 $request->answer_1、2 和 3 来存储答案。但我不知道该怎么做。我努力了:

for($i = 0; $i < total.count.of.answers; i++){
    $x = $i + 1;
    $answer = new Answer;
    $answer->answer = $request->answer_{$x};
    $answer->save();
}

但不工作。我如何实现这一目标?

(注意我已经可以使用 jquery 将答案发送到后端,问题只是我如何将它拉到控制器中)

标签: laravel-5

解决方案


首先,我将我的输入分组如下:

<form action="/submit" method="POST">
    {{ csrf_field() }}
    <input type="text" name="answers[]">
    <input type="text" name="answers[]">
    <input type="text" name="answers[]">
    <button type="submit">Submit</button>
</form>

然后,在我的控制器中,我可以通过执行以下操作来遍历答案:

foreach($request->answers as $answer) {
    Answer::create(['answer' => $answer]); 
}

这只是一个例子,但你明白了。


推荐阅读