@connor74

Как осуществить подобный вывод связанных полей?

Имеются 3 связанные таблицы и соответственно 3 модели:
Seminar (id, city_id, name, ...);
City (id, region_id, name);
Region (id, name).

В виде нужно вывести:
seminar.id - seminar.name - city.name - region.name

City указан в модели Seminar:

public function getCity()
{
        return $this->hasOne(City::className(), ['id' => 'city_id']);
}


Соответсвенно во вью вывел:
<?php foreach ($seminars as $seminar): ?>
<li>
    	<?=$seminar->date_begin;?>
    	<?=$seminar->city->name;?>
    	<?= Yii::$app->formatter->asDate($seminar->date_begin , 'php:d F');?>
        <?= Html::encode("{$seminar->title}") ?>
    </li>
<?php endforeach; ?>


Как здесь вывести region.name?

Спасибо!
  • Вопрос задан
  • 85 просмотров
Решения вопроса 2
Sassoft
@Sassoft
Yii developer
Добавить hasOne region id=>region_id в City и потом так: $seminar->city->region->name
Ответ написан
@pantsarny
model City...
public function getRegion()
{
        return $this->hasOne(Region::className(), ['id' => 'region_id']);
}


view...
echo $seminar->city->region->name;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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