Yii Framework Forum: Active Record Отношения Родитель Потомок - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Active Record Отношения Родитель Потомок Таблица пользователей содержит родителей, потомков. Как их извлекать? Rate Topic: -----

#1 User is offline   maslenkov 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 03-August 12

Posted 28 September 2012 - 04:00 AM

Таблица пользователей содержит родителей, потомков. Как их извлекать?
Изначально мне нужно было только знать потомков родителей, потому я сделал вот такой код в модели user:
  'parent'=>array(self::HAS_ONE, 'AgencyAdvertRelations', 'parent_id', 'joinType'=>'INNER JOIN'),
  'children'=>array(self::HAS_MANY, 'User', 'childe_id', 'through'=>'parent', 'joinType'=>'INNER JOIN'),

и в компоненте его извлекал
  User::model->with('children')->FindByPk($id);

потом мне понадобилось в другом месте проверять соответствие родителю
  User::model->with('parent')->FindByPk($id);

всегда возвращал NULL
потому я переделал модель вот так:
  'parent_connector'=>array(self::HAS_ONE, 'AgencyAdvertRelations', 'parent_id', 'joinType'=>'INNER JOIN'),
  'children'=>array(self::HAS_MANY, 'User', 'childe_id', 'through'=>'parent_connector', 'joinType'=>'INNER JOIN'),

  'children_connector'=>array(self::HAS_ONE, 'AgencyAdvertRelations', 'childe_id', 'joinType'=>'INNER JOIN'),
  'parent'=>array(self::HAS_ONE, 'User', 'parent_id', 'through'=>'children_connector', 'joinType'=>'INNER JOIN'),

возникает вопрос - не костыль ли это? И если это так, то как было бы сделать это верно?
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users