Таблица.
Табл : id, name, surname
1 имя1 null
2 имя2 null
И если выводить surname в параметре data виджета
Код: Выделить всё
'data'=> $model->surname
Код: Выделить всё
'data'=> $model->surname
data: array the select option data items. The array keys are option values, and the array values are the corresponding option labels. The array can also be nested (i.e. some array values are arrays too). For each sub-array, an option group will be generated whose label is the key associated with the sub-array. If you have a list of data models, you may convert them into the format described above using \yii\helpers\ArrayHelper::map().
Вот что тебе говорят там должно быть
Код: Выделить всё
'data' => ArrayHelper::map(YourModel::find()->all(), 'id', 'name'),
Код: Выделить всё
public function getNameOrSurname() {
return !empty($this->nameN) ? $this->nameN : $this->nameS;
}
А если всё же сделать вот так?dymsonn писал(а): ↑2020.03.02, 12:45 Извиняюсь, писал в спешке. Правильнее будет написатьгде nameN и nameS это методы модели возвращающие массив ArrayHelper c name и surname соответственно.Код: Выделить всё
public function getNameOrSurname() { return !empty($this->nameN) ? $this->nameN : $this->nameS; }
А проблема с пустыми полями была в том, что в поля базы попадали пустые значения имен. Получалось, если name =null', а surname = 'Petr'l, то выводился Petr. А если name = '', а surname = 'Petr', то выводилось пустое значение. Не было проверки на пустоту. В getNameN и getNameS добавил эту проверку.
Код: Выделить всё
'data' => ArrayHelper::map(YourModel::find()->all(), 'id', 'name_note'),
Код: Выделить всё
public function getname_note() {
return !empty($this->name) ? $this->name : $this->surname;
}