在我的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,我担心我可能不得不重新学习一些基础知识。
感谢您的帮助!
答案 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());
希望这有帮助