Формы в Yii2 интегрированы с моделями, т.е. ActiveRecord модель по сути выступает и в роли формы. Концепция вполне интересная, но как ее правильно использовать когда одно поле в БД должно конфигурироваться несколькими инпутами (чекбоксами) ? В моем примере в таблице users есть колонка role которая содержит все роли как битовые маски. К примеру, если у юзера есть роль admin, значит у него заполнен соответствующий бит. Во view мне кажется должно быть что-то такое:
<fieldset>
<legend>Role</legend>
<?= $form->field($user, 'role_employee')->checkbox(['label' => 'Employee']); ?>
<?= $form->field($user, 'role_pm')->checkbox(['label' => 'Project Manager']); ?>
<?= $form->field($user, 'role_admin')->checkbox(['label' => 'Admin']); ?>
</fieldset>
Но в модели role это одно поле, потому что так оно хранится в БД. Я думал использовать отдельный класс формы, т.е. не модель User, а какой-нибудь class AdminEditUser, но это не слишком удобно укладывается на архитектуру yii. В частности одно из полей при редактировании использует валидатор unique, который не захотел работать из коробки при использовании отдельного класса формы, не связанного с конкретным экземпляром модели User.
Подскажите как лучше решать подобную задачу на Yii2, а то не хочется городить огород :)