2017-03-01 5 views
0

こんにちは私はHasManyの複数のテーブルからデータを選択しようとしていますが、動作しません。私はそれをフェッチしません。このHasMany複数選択が動作しないCakephp

public $hasMany = array(
      'UserCategory' => array(
       'className' => 'UserCategory', 
       'foreignKey' => 'user_id', 
       'dependent' => true, 
       'conditions' => array('user_id = UserCategory.user_id') 
       //'order' => 'UserCategory. DESC' 

      ), 

      'Skill' => array(
       'className' => 'Skill', 
       'foreignKey' => 'user_id', 
       'dependent' => true 


      ) 
    ); 

のようにそれでuser_idを持つ別のテーブルからデータを取得しようとするとここに私のコード

class UserInfo extends AppModel 
{ 
    public $useTable = 'user_info'; 
    public $primaryKey = 'user_id'; 


    public $belongsTo = array(
     'User' => array(
      'className' => 'User', 
      'foreignKey' => 'user_id', 
      'type' => 'RIGHT', 
      'fields' => array('User.user_id','User.email','User.active') 
     ) 


    ); 
    public $hasMany = array(
     'UserCategory' => array(
      'className' => 'UserCategory', 
      'foreignKey' => 'user_id', 
      'dependent' => true, 
      'conditions' => array('user_id = UserCategory.user_id') 
      //'order' => 'UserCategory. DESC' 

     ) 


); 



    public function getUserDetails($user_id){ 
     $this->Behaviors->attach('Containable'); 
     return $this->find('all', array(
      'conditions' => array(
       'UserInfo.user_id' => $user_id 
      ), 
      'contain' => array(
       'User', 'UserCategory.Category', 

      ) 

     )); 

    } 

です。私はSQLダンプを実行します。クエリはまったく実行されません。

'contain' => array(
    'User', 'UserCategory.Category', 
) 

することができます:だからあなたのような収容可能使用するとき、私は、私はあなたが要約するとCakePHPの2にcontainable徹底的にドキュメントを読むことをお勧めスキル

答えて

0

からデータを取得することができません意味あなたのニーズに合わせてあなたのfind()データをフィルタリングするのに役立ちます。

+0

ありがとう – hellosheikh

関連する問題