Laravel 处理单选按钮值

Laravel Handling radio button values

我有一个动态形成的 table,其中包含用于在每一行中选择通过或失败的单选按钮。以下是我的代码:

<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)。我该怎么做?

谢谢

首先,我同意@Chelius 的评论,请查看 laravel 关于 blade 模板和 @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);
}

请注意,您可能需要更新 "updateCandidate" 函数以接受用户 ID 和结果。