12.03.2009, 16:49 | #1 |
Участник
|
Работа со связью 1:N
Здравствуйте.
Есть стандартная связь 1:N между объектом (назовем его "Дом") и объектами (назовем их "Квартиры"), результатом которой является lookup в связанных объектах Квартиры. Вопрос такой: работая с объектом Дом как узнать, что он не связан ни с одной Квартирой? Проблема в том, что Доме нет инфы с какими он Квартирами связан, а лишь lookup в Квартире содержит эту информацию. Как вариант тащить все Квартиры и искать сравнение по id в том самом лукапе, зная id нужного Дома. Но тогда если этих самых Квартир будет тысячи, то в плане производительности будет все плохо. Кто-нить с талкивался с такой задачей? |
|
12.03.2009, 16:58 | #2 |
Участник
|
Поторопился с созданием темы.
Забыл я чет про кондишены, через которые можно смотреть получем ли мы квартиры по данному id дома. Это избавит от взятия всех колекции квартир и пробега по ним в цикле. Вопрос в принципе снят, но если есть у кого коментарии по поводу как этом сделать все-таки со стороны объекта Дом, то welcome . |
|
13.03.2009, 07:05 | #3 |
Участник
|
Обычно, когда вы создаете связь 1:N, то в вашем случае:
* у сущности Квартира появится lookup поле; * у сущности Дом появится раздел (пункт меню в левой части формы) "Квартиры" где откроется список (grid) со связанными квартирами. |
|
13.03.2009, 10:59 | #4 |
Участник
|
Bakai Madybaev
Речь шла об обращении при разработке какого-нить модуля, а не в самом CRM. Это видно по содержанию предыдущих сообщений. |
|
13.03.2009, 12:19 | #5 |
Moderator
|
Видно, да не очевидно, выражайте мысль точнее. Узнать кто ссылается ключом на картеж нельзя не сделав запрос по той таблице записи которой ссылаются на данную. Тут не в типе связи дело, а в самой теории РБД.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|