2015-02-06 85 views
0

我有一個帶有單選按鈕的動態表格,用於選擇每行中的通過或失敗。下面是我的代碼:Laravel處理單選按鈕值

<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)。我怎樣才能做到這一點?

感謝

+0

你在使用Laravel嗎?如果是這樣,爲什麼你將PHP代碼嵌入到模板中? – Cheluis 2015-02-06 14:13:53

+0

@Cheluis我還是Laravel的新手...不太確定什麼是好的做法 – 2015-02-06 14:18:27

+0

'TestResults :: updateCandidate($ input)'看起來就像您定義的自定義類。你想如何傳遞參數?作爲一個數組?作爲單個字符串? – 2015-02-06 14:23:19

回答

3

首先,我同意@Chelius的意見,看看周圍的葉片模板和@if/@foreach和使用laravel的文檔{{表::輸入}}。

然而,在回答你的問題 - 你需要更好地你的名字輸入檢索用戶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和結果。

+0

感謝隊友的知識!你的回答非常有幫助! – 2015-02-06 16:53:22