К основному контенту

YII2 checkboxList checked serialize

YII2 checkboxList checked serialize
Пишу сюда, может кому будет полезно.
Суть вопроса такая, пишу сайт, на котором есть способы доставки с привязкой к методам оплаты.
В модели добавил метод beforeSave() для записи массива 

public function beforeSave($insert)
{
    if (parent::beforeSave($insert)) {
            $this->payment_methods = serialize($this->payment_methods);
        return true;
    } else {
        return false;
    }
}


в отображении делаем так

<?= $form->field($model, 'payment_methods')->checkboxList(
    ArrayHelper::map(
        PaymentMethods::find()->all(),'id','name'    )
)?>

а вот главный вопрос, как сделать чекбоксы отмеченными при редактировании записи, если они ранее были отмечены. Я решил этот вопрос добавив метод в модель

public function afterFind(){
    $this->payment_methods = unserialize($this->payment_methods);
}

Комментарии

Популярные сообщения из этого блога

Товар которого нет в наличии делаем в конце opencart

Товар которого нет в наличии делаем в конце 

Добавляем к товару его поставщика opencart часть 2

Это продолжение темы  Добавляем к товару его поставщика opencart выкладываю файлы для добавления поставщиков в ваш магазин opencart.

Редактирование заказа opencart 1.5.1.3 часть 2

Редактирование заказа opencart 1.5.1.3 часть 2 Как и обещал по поводу доработок , сегодня добавил редактирование колличества в заказе, сумма при этом пересчитывается автоматом , только итоговая сумма не пересчитывается .