如何解决Laravel:从单选按钮获取和合并值
我目前正在进行某种“测验”,以根据用户给出的答案获得用户的入门级课程。基本上是个性测试。
这是我的表格的一个例子
<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;
}
}
我的帖子正确地从输入中获取了值,我只需要知道如何将它们获得一个最终的分数并将其存储到数据库中
我尝试使用JavaScript,但是我无法弄清楚如何将结果保存到控制器中以存储在数据库中。
解决方法
好吧,您可以尝试将单选输入命名为数组,这样一来便可以检索值:
{{ Form::radio('q[3]',1,false) }}
{{ Form::radio('q[3]',2,false) }}
...
{{ Form::radio('q[4]',false) }}
{{ Form::radio('q[4]',false) }}
...
然后在Controller中,您可以将所有值放入单个数组中
$values = $request->input('q',[]);
然后,您可以很容易地获得总和:
$sum = array_sum($values);
您可能需要进行一些验证,以确保在特定值范围内获得正确数量的输入。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。