Использование реляционного запроса Yii - PullRequest
0 голосов
/ 15 декабря 2011

Возможно ли при определении связанной модели в определении ActiveRecord указать область отношений, которая позволяет связывать только те модели, соответствующие столбцы которых соответствуют некоторым предопределенным критериям в присоединяющейся таблице?

например. давайте создадим таблицу пользователей с полями: id (pk), username (pk), pwd_hash (текст), pwd_salt (текст)

и таблица элементов: id (pk), itemData (текст)

и соответствующая таблица: id (pk), user_id (pk), item_id (pk), some_attribute (int)

Теперь я хотел бы определить отношение «многие ко многим», чтобы в пользовательской модели было поле xitems, которое предоставляло бы мне только те элементы, для которых значение some_attribute больше некоторого значения y. Возможно ли это сделать с помощью реализации Yii ActiveRecord.

Я понимаю, что могу определить модель, соответствующую коррелирующей таблице, которая имела бы отношение принадлежности как к элементам, так и к пользователям, и запросить эту таблицу ... но я искал более сжатый подход. [Править]

Вероятно, лучше всего было бы определить метод модели, который абстрагирует операцию внутреннего соединения.

1 Ответ

0 голосов
/ 17 декабря 2011

Я вполне уверен, что вам нужна модель для таблицы соединений, чтобы получить доступ к ее данным, которые нужны вашему примеру.Без модели таблицы соединения AR будет иметь дело только с FK в таблице соединения (AFAIK).

Эта статья может быть вам полезна: Доступ к данным в таблице соединения с соответствующими моделями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...