Модель CakePHP-> find, кажется, игнорирует условия - PullRequest
0 голосов
/ 16 февраля 2012

В моем контроллере 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 Ответ

3 голосов
/ 16 февраля 2012

:) добро пожаловать обратно в торт

$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());

Надеюсь, это поможет

...