我正在使用hasOne association.Here我的UserMastersTable代码:
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,
]);
} }
在我的控制器中使用find()时,它会获取status ='1'
的所有user_masters数据和person_masters数据。
但问题是我已经指定了条件,其中关联bind..already给出的条件只显示person_masters.status=1
的数据。
那么为什么它会显示user_masters的所有数据?
如果我在控制器中的find()中给出条件,那么它工作正常..
$this->UserMasters->find('all',
['contain' =>
['PersonMasters'],
'conditions' =>
['PersonMasters.status' => 1]
]);
那么,我怎么能全局给出只获取user_masters和person_masters数据的条件PersonMasters.status=1
?
答案 0 :(得分:0)
尝试这可能会解决您的问题
$this->UserMasters->find('all',[
'contain' =>
['PersonMasters' => [
'conditions' => ['status' => 1]
]
],
]);