Результаты разбивки CakePHP с условием на другой таблице, связанной с HABTM - PullRequest
0 голосов
/ 08 февраля 2011

Я провел некоторый поиск, но не могу найти что-то достаточно подходящее / подходящее для моего сценария.Я получил:

Jobs <--> HABTM (Users_jobs table) <--> Users

Я хотел бы сделать paginate() с моего Job контроллера с условием на User.id, так как мне нужно получить-и разбить всевакансии от текущего пользователя.

Если вы предоставляете ссылку на другую тему / сайт, пожалуйста, предоставьте объяснение и то, как вы примените ее к моему делу.

Приветствия,Nicolas.

1 Ответ

1 голос
/ 19 февраля 2011

Убедитесь, что ваши ассоциации HABTM настроены правильно (cake bake будет ожидать таблицы соединения jobs_users, а не users_jobs (см .: Cakephp-HABTM ). Если это так, измените ссылки на JobsUser в примере ниже для UsersJob, чтобы соответствовать макету, который вы описали.

//In an action in jobs_controller.php

//Fake a HasOne association to the JobsUser model, setting $reset to false
$this->Job->bindModel(array(
    'hasOne' => array(
        'JobsUser'
    )
), false);

//Setup the paginate conditions, grouping on job.id
//Set $user_id to the user to filter results by (can also be an array of users)
$options = array(
    'group' => 'Job.id',
    'conditions' => array(
        'JobsUser.user.id' => $user_id
    )
);
$this->paginate = $options;
$users = $this->paginate();
...