Есть форма
<?=$f->field($flora_user, 'user_id')->checkBoxList(ArrayHelper::map($user,'id','fio'))->label('Автор(ы):')?>
$floraUser = new floraUser();
$user = User::find()->all();
floraUser - это промежуточная таблица
При открытии формы на изменение данных, необходимо отметить нужные чекбуксы, которые были отмечены при добавлении.
Если делать так, то получается массив
$floraUser = $this->findModel($id)->users;
и ошибка Call to a member function isAttributeRequired() on array
findModel($id)
{
if (($model = Flora::findOne($id)) !== null) {
return $model;
}
связи
public function getFloraUsers()
{
return $this->hasMany(FloraUser::className(), ['flora_id' => 'id']);
}
/**
* @return \yii\db\ActiveQuery
*/
public function getUsers()
{
return $this->hasMany(User::className(), ['id' => 'user_id'])->viaTable('flora_user', ['flora_id' => 'id']);
}