Как правильно организовать связь между таблицами?

Здравствуйте. Запарился с связями таблицы в Yii 1. Никак не могу правильно получить данные.

У меня есть 2 таблицы:
1 таблица складов, есть id, name, city_id

И собственно с помощью поля city_id должен получить название города из таблицы с городами.

Связь организовываю в модели City
'stockInCity' => array(self::HAS_MANY, 'Stock', 'city_id'),


После вызываю в компоненте
$a = City::model()->with('stockInCity')->findByPk(1250);
        echo "<pre>"; print_r($a); echo "</pre>";


На выходе получаю
673814bebcd8423e8bfac9a7418fabd8.png

где city_id в моем случаем это Москва.

Нужно, как я понимаю, обратиться наоборот к складам, а в stockInCity, чтобы был массив города. Поменять местами получается. Пытался в модели Stock сделать связь
'stockInCity' => array(self::HAS_MANY, 'City', 'id'),
но на выходе получается пустой объект.

Определенно, что-то неправильно делаю, но не могу понять. В чем может быть проблема? Спасибо
  • Вопрос задан
  • 291 просмотр
Решения вопроса 1
@BorisKorobkov
Web developer
Если из Stock надо получить City, то в Stock надо указать
'city' => array(self::HAS_ONE, 'City', ['id' => 'city_id']),


P.S. Правильнее называть не "stockInCity", а "stocks"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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