CakePHP模型 - >发现似乎忽略了条件

时间:2012-02-16 14:43:16

标签: php cakephp cakephp-appmodel

在我的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,我担心我可能不得不重新学习一些基础知识。

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

:)欢迎回到蛋糕

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

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

你会发现条件是正确的。

要为分页添加条件,您必须更改pagination property,例如:

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

希望这有帮助