2015-02-06 6 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() является студентом идентификатор и выбранное значение радио кнопки (1/0). Как я могу это сделать?

Благодаря

+0

Вы используете Laravel? И если да, то почему вы внедряете PHP-код в шаблон? – Cheluis

+0

@Cheluis Я все еще новичок в Laravel ... не совсем уверен, каковы хорошие практики. –

+0

'TestResults :: updateCandidate ($ input)' выглядят как пользовательский класс, который вы определили. Как вы хотите передать в него параметры? как массив? как отдельные строки? –

ответ

3

Во-первых, я согласен с комментариями @Chelius, посмотрите документацию Laravel вокруг лезвия шаблонам и @If/@foreach и использование {{Form :: вход}}.

Однако в ответ на ваш вопрос - вам нужно будет назвать вам входы лучше, чтобы получить идентификатор пользователя и многословный 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» принимать идентификатор пользователя и результат.

+0

спасибо помощнику! вы ответили много помогли! –

Смежные вопросы