t-alexashka
@t-alexashka
Сразу пишу legacy код

Как соединить поля в ArrayHelper::map?

Привет друзья.

Есть обычный вариант создания селекта из модели
return ArrayHelper::map(self::find()->all(), 'id', 'title');

А как сделать чтобы было не только title но и еще 1 или более полей в виде конкатенации? т.е. id это id, а вот то что будет в самом селекте было title + somefield + somefield
  • Вопрос задан
  • 2024 просмотра
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
Создайте в текущей модели подобное:

/**
     * @return string User full name
     */
    public function getFullName()
    {
        return $this->name . ' ' . $this->surname;
    }


обращаться нужно так:

return ArrayHelper::map(self::find()->all(), 'id', 'fullName');


Обратите внимание. getFullName() должен быть в той модели, к которой обращаетесь. В данном случае self

В getFullName() Можете выводить и массив и что угодно под Ваши требования
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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