Как получить значения блока checkbox в Laravel 5?

Я создал флажки в форме с помощью javascript:

<input type="checkbox" name="is_ok[]" /> <input type="checkbox" name="is_ok[]" /> <input type="checkbox" name="is_ok[]" /> 

Когда я проверяю 1-й и 3-й флажки и Input::get("is_ok") форму, Input::get("is_ok") возвращает мне:

 ['on', 'on'] 

Есть ли способ получить значение как ['on', null, 'on'] или ['on', 'off', 'on'] ?

Заранее спасибо.

Эй присваивать некоторые значения user_id, product_id etc как user_id, product_id etc Что когда-либо было в вашем приложении.

Например, просмотр

 <input type="checkbox" name="is_ok[]" value="1" /> <input type="checkbox" name="is_ok[]" value="2" /> <input type="checkbox" name="is_ok[]" value="3" /> 

Например, контроллер

 <?php if(isset($_POST['is_ok'])){ if (is_array($_POST['is_ok'])) { foreach($_POST['is_ok'] as $value){ echo $value; } } else { $value = $_POST['is_ok']; echo $value; } } ?> 

Вы получите массив выбранного флажка.

Надеюсь, поможет..

Я думаю, что у меня есть «хорошее» решение для этого (типа).

 <input type="checkbox" name="is_ok[0]" /> <input type="checkbox" name="is_ok[1]" /> <input type="checkbox" name="is_ok[2]" /> 

(Принудительные индексы здесь)

В запросе:

 $array = \Request::get("is_ok") + array_fill(0,3,0); ksort($array); 

Это гарантирует, что (a) индексы галочки поддерживаются, как ожидалось. (б) пробелы заполняются при получении запроса.

Это неряшливо, но может работать.

ИМХО это лучшая практика:

В вашей миграции задайте поле db table для boolean и значение по умолчанию 0

 $table->boolean->('is_ok')->default(0); {!! Form::checkbox('is_ok[]', false, isset($model->checkbox) ? : 0) !!} по $table->boolean->('is_ok')->default(0); {!! Form::checkbox('is_ok[]', false, isset($model->checkbox) ? : 0) !!} 

и если вы не используете коллектив laravel для форм, вы можете использовать vanilla php

  <input type="checkbox" name="is_ok[]" value="<?php isset($model->checkbox) ? : 0; ?>" />