@dimoff66
Кратко о себе: Я есть

Как отобразить в форме значение поля типа SET через checkboxlist?

В таблице MySQL есть поле days типа SET, представляющее из себя набор дней недели. Модель в Yii получает из базы и возвращает атрибут days в виде строки, где значения разделены запятой. При использовании:
$form->field($model, 'days')->checkboxList(['Пн'=>'Пн', 'Вт'=>'Вт'...]);


чекбоксы остаются не помеченными, видимо ожидается, что значение должно быть массивом. Как бы так ловко строку подменить на массив, чтобы этот код сработал? Ну или с наименьшими усилиями переписать данный код, чтобы в форме были помеченные в соответствии с данными базы дни недели.

UPD Видимо нужно создать дополнительный атрибут daysArray и хранить в нем значение в виде массива. Но нужны два события: после получения моделью данных и перед записью. Второе событие нашел: BeforeSave, не могу найти событие сразу после чтения данных из базы.
  • Вопрос задан
  • 32 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы