2015-10-13 56 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] 
         ] 
        ], 

        ]);