@Leopandro
Разработчик CRM/ERP систем

Как получить модель посредством hasOne несколько раз?

Есть модель $panel у него есть функция
public function getCar()
    {
        return $this->hasOne(Car::className(), ['id' => 'car_id']);
    }

у car же:
public function getBrand()
	{
		return $this->hasOne(Brand::className(), [
			'id' => $this->brand_id
		]);
	}

Соответственно чтоб получить атрибут $name у $brand я использую код:
$model->car->brand->name

Выводит ошибку:
Getting unknown property: app\models\Car::4
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
меняйте
public function getBrand()
  {
    return $this->hasOne(Brand::className(), [
      'id' => $this->brand_id
    ]);
  }

на
public function getBrand()
  {
    return $this->hasOne(Brand::className(), [
      'id' => 'brand_id'
    ]);
  }

так как это связь надо указывать название столбца в базе, а не его значение
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы