activeCheckboxList (Yii2) как поменять значения value?

439
23 января 2017, 21:43

Делаю вывод таким способом

echo Html::activeCheckboxList($model,'brand',$brands)

И получается во такое

<label><input type="checkbox" name="Search[brand][]" value="1"> Asus</label>
<label><input type="checkbox" name="Search[brand][]" value="2"> Acer</label>
<label><input type="checkbox" name="Search[brand][]" value="3"> Lenovo</label>

Как сделать так , чтобы в значениях value находился не порядковый номер , а название бренда ?

Answer 1

Примерно так:

$brands = ['Asus', 'Acer', 'Lenovo'];
$itemBrands = [];
array_walk($brands, function ($item) use(&$itemBrands) {
    $newBrands[$item] = $item;
});
echo Html::activeCheckboxList($model, 'brand', $itemBrands);

Или если у вас есть например модель Brand в которой поле name хранит имя брэнда(Asus, Acer и т.д.), можно сделать так:

use yii\helpers\ArrayHelper;
$brands = ArrayHelper::map(Brand::find()->all(), 'name', 'name');
echo Html::activeCheckboxList($model, 'brand', $brands);
READ ALSO
вывод текста из базы данных

вывод текста из базы данных

здравствуйте, как выводить текст из базы данных без лишних пробелов и переносов?

315
Вывод в while кроме одного значения

Вывод в while кроме одного значения

Есть запрос в бд на вывод всех строк Потом в цикле мы получаем все ид Как сделать, чтобы он выводил все ид, кроме, например первого ид

274
Чтение txt документа и выгрузка в mysql

Чтение txt документа и выгрузка в mysql

Доброго времени суток! Есть txt файл с большим количеством строк, размер документа 15 - 30 мб

298