CakePHP模型->;find似乎忽略了条件


CakePHP model->find seems to be ignoring the conditions

在我的Jobs控制器中,index()函数下有以下语句:

$this->Job->find('all', array('conditions' => array('Job.completed' => '0', 'Job.user_id' => $this->Auth->user('id'))));
$this->set('jobs', $this->paginate());

这应该显示$jobs变量下当前登录用户的所有未完成作业(从视图访问时)。然而,我正在为每个用户获得所有未完成的作业。

$this->Auth->user('id'); //returns correct user ID for logged in user

我错过什么了吗
在缺席了几个月之后,我刚刚重新访问了CakePHP,我担心我可能不得不重新学习一些基础知识。

谢谢你的帮助!

:)欢迎回到蛋糕

$this->Job->find()将返回一个数组。。它不会修改分页。如果你这样做:

$jobs = $this->Job->find('all', array('conditions' => array('Job.completed' => '0', 'Job.user_id' => $this->Auth->user('id'))));
pr($jobs);

你会发现条件是正确的。。

要向分页添加条件,必须更改分页属性,例如:

 $this->paginate = array(
        'conditions' => array('Job.completed' => '0', 'Job.user_id' => $this->Auth->user('id')),
        'limit' => 10
    );
 $this->set('jobs', $this->paginate());

希望这能帮助