Laravel处理单选按钮值

时间:2015-02-06 14:05:00

标签: php mysql laravel query-builder

我有一个带有单选按钮的动态表格,可以在每行中选择通过或失败。以下是我的代码:

<form name="form2" method="post" action="/admin/testresults/update/added">
  <?php if(isset($rows)){ $i=1; $pass=$ fail='' ; foreach ($rows as $row) { (($row->result == 1) ? $pass='checked' : $fail='checked'); print "
  <tr>
    <td>".$i."</td>
    <td>".$row->name." ".$row->last_name."</td>
    <td>
      <input type='radio' name='".$row->userId."' value='1' ".$pass.">Pass
      <br/>
      <input type='radio' name='".$row->userId."' value='0' ".$fail.">Fail
      <input type='hidden' name='".$row->userId."' value='".$row->userId."' </td>
  </tr>
  "; $i++; } print "
  <tr>
    <td colspan='3'>
      <input class='ember-view btn btn-danger' type='submit' />
    </td>
  </tr>"; } ?>
</form>

我在控制器中使用以下代码:

$inputs = Input::get();
foreach($inputs as $input){
    TestResults::updateCandidate($input);
}

我想传递给updateCandidate()的是学生ID和所选的单选按钮值(1/0)。我怎么能这样做?

由于

1 个答案:

答案 0 :(得分:3)

首先,我同意@Chelius的评论,查看laravel关于刀片模板和@if / @foreach的文档以及{{Form :: input}}的使用。

然而,在回答您的问题时 - 您需要更好地命名输入以检索用户ID,而详细的PHP版本最终应如下所示:

<td>
  <input type='radio' name='results[".$row->userId."]' value='1' ".$pass.">Pass
  <br/>
  <input type='radio' name='results[".$row->userId."]' value='0' ".$fail.">Fail
  <input type='hidden' name='".$row->userId."' value='".$row->userId."'
 </td>

处理时,您的代码应为:

$inputs = Input::get();
foreach($inputs['results'] as $userId => $result){
    TestResults::updateCandidate($userId, $result);
}

请注意,您可能需要更新&#34; updateCandidate&#34;函数接受用户ID和结果。