Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Реляционные модели/тиаблицы в Yii
Форумы портала PHP.SU » » CMS и фреймворки » Реляционные модели/тиаблицы в Yii

Страниц (1): [1]
 

1. igosja - 30 Января, 2015 - 15:49:26 - перейти к сообщению
В мануалах есть информация по реляции 2 таблиц, а как писать запрос если нужно больше?

Есть таблицы спортивных команд:
team (team_id, team_name, team_stadium_id)
stadium (stadium_id, stadium_name, stadium_city_id)
city (city_id, city_name, city_country_id)
country (country_id, country_name)

В моделях прописаны нужные relations пошагово:
- модель team связана stadium,
- модель stadium связана city,
- city с country.

Как написать запрос на выборку всех данных по id команды?
Конструкция $team->with('stadium')->with('city')->with('country')->findByPk($id) не работает, пишет что в team нет свойства city и country.
Или нужно сделать сквозную реляцию вплоть до таблицы country с модели team?
2. RickMan - 30 Января, 2015 - 15:59:12 - перейти к сообщению
Думаю этот вопрос более уместных тут:
http://www[dot]yiiframework[dot]ru/forum/
или
http://www[dot]yiiframework[dot]com/forum/index.php
(Добавление)
Но вообще, что мешает вам строить такие запросы через CDbCommand, а не ActiveRecord.
http://www[dot]yiiframework[dot]ru/doc/g[dot][dot][dot]e/ru/database[dot]ar

Вообще Active Record не панацея, особенно для таких запросов.

 

Powered by ExBB FM 1.0 RC1