2012-02-25 2 views
0

나의 관계는 다음과 같습니다 CakePHP - 깊은 관계에서 데이터 가져 오기? 다음과 같이

User hasMany Item, Offer, Watcher 

Item BelongsTo User 
Item hasMany Offer, Watcher 

Offer/Watcher BelongTo Item & User 

내가 이것을 사용하여 사용자 항목을 얻으려고

:

$this->loadModel('User', $this->Auth->user('id')); 
    $this->set('user', $this->User->read()); 

그것은 사용자의 기록, 그들이보고있는 항목과 항목들이했습니다를 가져옵니다 어떤 제안이 좋았는지.

그러나 사용자가 판매하는 품목에 대해서는 전문가를 정확히 파악하지 못합니다.

내가 사용하는 경우 : $this->User->recursive = 2; 그러면 user_id 만 가져 오지만 사용자 프로필에는 연결되지 않습니다.

예 :

http://pastebin.com/9A8k7rDs

내가 개별적으로 모델을 포함하고 데이터 그런 식으로 점점이 정보를 얻을 수 있지만,이 같은 해킹.

누군가 더 좋은 방법을 알고 있는지 궁금합니다. 또는 심지어 내 관계가 옳다면 : z?

답변

0

알았습니다.

나는 그것은 내가 원하는 데이터를 반환하고 약간의 추가 그래서 난 제어 $this->Item->recursive = 2;

$this->User->Item->find(...)을 사용 함유 성 행동과 그.

감사합니다.

+0

찾아 냈습니다. 재귀 적으로 필요하지 않았습니다. 2. 포함 할 수있는 행동이 나를 위해 그것을 않습니다. – robingchan

0

모든 모델에 관계 설정이 있습니까? 의미는 사용자 모델뿐만 아니라 Item, Watcher 및 Offer 모델에도 관계가 있어야한다는 것입니다.

+0

예. 모든 모델에는 hasMany 및 belongsTo가 있습니다. – robingchan