Laravel:从单选按钮获取和组合值
Laravel: getting and combining values from radio button
我目前正在制作一种 'quiz' 以根据用户给出的答案获得用户的启动器 class。基本上是性格测试。
这是我的表单示例
<div class="form-group">
<h4>{{Form::label('title', 'Favourite season?')}}<br></h4>
<div class="container">
<div class="option">
Spring - {{Form::radio('q4', 1, false)}}<br>
Summer - {{Form::radio('q4', 2, false)}}<br>
Autumn - {{Form::radio('q4', 3, false)}}<br>
Winter - {{Form::radio('q4', 4, false)}}
</div>
</div>
</div>
目前我的控制器是空的,因为我不确定如何获取每个值,然后将它们组合成最终结果
public function store(Request $request)
{
$this->validate($request, [
'q1' => 'required',
'q2' => 'required',
'q3' => 'required',
'q4' => 'required',
'q5' => 'required',
'q6' => 'required',
'q7' => 'required',
'q8' => 'required',
'q9' => 'required',
'q10' => 'required',
]);
return $request;
}
}
我的 post 正确地从输入中获取了值,我只需要知道如何将这些值转化为最终分数并将其存储到数据库中
我试过使用 JavaScript,但是我不知道如何将结果输入控制器以存储在数据库中。
好吧,您可以尝试将无线电输入命名为数组,这样您就可以一次检索值:
{{ Form::radio('q[3]', 1, false) }}
{{ Form::radio('q[3]', 2, false) }}
...
{{ Form::radio('q[4]', 1, false) }}
{{ Form::radio('q[4]', 2, false) }}
...
然后在您的控制器中,您可以将所有值放入一个数组中:
$values = $request->input('q', []);
然后你可以很容易地得到这个总和:
$sum = array_sum($values);
您可能想要进行一些验证,以确保您在特定值范围内获得正确数量的输入。
我目前正在制作一种 'quiz' 以根据用户给出的答案获得用户的启动器 class。基本上是性格测试。
这是我的表单示例
<div class="form-group">
<h4>{{Form::label('title', 'Favourite season?')}}<br></h4>
<div class="container">
<div class="option">
Spring - {{Form::radio('q4', 1, false)}}<br>
Summer - {{Form::radio('q4', 2, false)}}<br>
Autumn - {{Form::radio('q4', 3, false)}}<br>
Winter - {{Form::radio('q4', 4, false)}}
</div>
</div>
</div>
目前我的控制器是空的,因为我不确定如何获取每个值,然后将它们组合成最终结果
public function store(Request $request)
{
$this->validate($request, [
'q1' => 'required',
'q2' => 'required',
'q3' => 'required',
'q4' => 'required',
'q5' => 'required',
'q6' => 'required',
'q7' => 'required',
'q8' => 'required',
'q9' => 'required',
'q10' => 'required',
]);
return $request;
}
}
我的 post 正确地从输入中获取了值,我只需要知道如何将这些值转化为最终分数并将其存储到数据库中
我试过使用 JavaScript,但是我不知道如何将结果输入控制器以存储在数据库中。
好吧,您可以尝试将无线电输入命名为数组,这样您就可以一次检索值:
{{ Form::radio('q[3]', 1, false) }}
{{ Form::radio('q[3]', 2, false) }}
...
{{ Form::radio('q[4]', 1, false) }}
{{ Form::radio('q[4]', 2, false) }}
...
然后在您的控制器中,您可以将所有值放入一个数组中:
$values = $request->input('q', []);
然后你可以很容易地得到这个总和:
$sum = array_sum($values);
您可能想要进行一些验证,以确保您在特定值范围内获得正确数量的输入。