2010-04-12 2 views
0

케이크의 모델 아키텍처에 문제가 있습니다.비협조적 관계

사용자 - 모델 및 메타 - 모델이 있습니다.

사용자 :

<?php 
class User extends AppModel { 

var $name = 'User'; 
var $validate = array(
    'username' => array('notempty'), 
    'email' => array('email'), 
    'password' => array('notempty') 
); 
    var $displayField = 'username'; 


var $hasMany = array(
     'Meta' => array(
      'className' => 'Meta', 
      'foreignKey' => 'user_id'   
     ) 
); 

} 
?> 

과 METAS 모델 :

<?php 
class Meta extends AppModel { 

var $name = 'Meta'; 

//The Associations below have been created with all possible keys, those that are not needed can be removed 
var $belongsTo = array(
    'User' => array(
     'className' => 'User', 
     'foreignKey' => 'user_id', 
     'required' => true 
    ) 
); 

} 
?> 

그래서 이제 질문은 왜 사용자 배열에 메타 데이터를하지 않는 다음 모델 코드는? Auth 객체에서 가져와야할까요?

또는 어디에서 메타 데이터를 사용할 수 있습니까?

+1

는 어떻게 배열을 검색하는거야? $ _SESSION [ 'Auth'] [ 'User'] 배열에 대해 이야기하고있는 경우, 로그인시에만 설정되며 관련 모델은 포함되지 않습니다. print_r ($ this-> User-> find (...))을 사용하면 첨부 된 메타 정보가 표시됩니다. –

+0

그래, $ this-> User-> find 나는 모든 메타 데이터를 얻는다. 현재 로그인 한 사용자의 eta 데이터를 얻고 싶다 :) (모든 컨트롤러에서 ...) 가장 좋은 방법은 무엇인가? 이? greetz –

답변

0

은 당신이 봤어 :

$currentUserData = $this->User->read(null,$this->Auth->user('id'));