Задать вопрос
t-alexashka
@t-alexashka
Сразу пишу legacy код

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

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

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

А как сделать чтобы было не только title но и еще 1 или более полей в виде конкатенации? т.е. id это id, а вот то что будет в самом селекте было title + somefield + somefield
  • Вопрос задан
  • 2065 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
  • FructCode
    Yii2 Фреймворк
    2 месяца
    Далее
Решения вопроса 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() Можете выводить и массив и что угодно под Ваши требования
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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