Задать вопрос

Как в fields() модели вывести связь один ко многим?

Есть 3 модели (Здание, Фирма и Категория)

Вывожу в fields у модели Фирма связанную модель Здание так:
public function fields()
    {
        return [
            'id',
            'name',
            'phones',
            'building',
        ];
    }


а как вывести Категория? Связь сгенерирована стандартными средствами gii,
все методы связей
/**
     * @return \yii\db\ActiveQuery
     */
    public function getBuilding()
    {
        return $this->hasOne(Building::className(), ['id' => 'building_id']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getFirmCategories()
    {
        return $this->hasMany(FirmCategory::className(), ['firm_id' => 'id']);
    }

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getCategories()
    {
        return $this->hasMany(Category::className(), ['id' => 'category_id'])->viaTable('{{%firm_category}}', ['firm_id' => 'id']);
    }

  • Вопрос задан
  • 140 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
  • FructCode
    Yii2 Фреймворк
    2 месяца
    Далее
Решения вопроса 1
usdglander
@usdglander
Yipee-ki-yay
public function fields()
    {
        return [
            'id',
            'name',
            'phones',
            'building',
            'categories',
        ];
    }

Разве так не работает?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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