2015-10-13 72 views
0

我使用hasOne association.Here我的代碼UserMastersTable:cakephp3條件協會不工作

class UserMastersTable extends Table { 
public function initialize(array $config) { 
parent::initialize($config); 
     $this->table('user_masters'); 
$this->hasOne('PersonMasters', [ 
      'className' => 'PersonMasters', 
      'foreign_key' => 'user_master_id', 
      'conditions' => ['PersonMasters.status' => 1], 
      'dependent' => true, 

     ]); 
} } 

使用時發現()在我的controller.It獲取所有user_masters數據和person_masters數據,其status ='1'

但問題是,我已經分配條件,其中關聯綁定..已經給出的條件,只顯示該數據的person_masters.status=1

爲什麼它顯示user_masters的所有數據?

如果我發現給條件()在控制器然後正常工作..

$this->UserMasters->find('all', 
         ['contain' => 
          ['PersonMasters'], 
          'conditions' => 
          ['PersonMasters.status' => 1] 
         ]); 

這樣,我怎麼能在全球範圍給條件,只有取user_masters和person_masters其中PersonMasters.status=1的數據?

+0

你想在你的關聯數據申請條件? –

+0

是的..但我想給兩個模型全局,而不是在每個查詢條件 –

回答

0

嘗試這可能是它能夠解決您的問題

$this->UserMasters->find('all',[ 
        'contain' => 
         ['PersonMasters' => [ 
          'conditions' => ['status' => 1] 
         ] 
        ], 

        ]);