Cakephp只获得过滤后的孩子

In my case User and questionnaires has many to many relationship. So i use user_questionnaires table to store users questionnaires.

I want get all users with user questionnaire row for some questionnaire.

My manual query like that.

SELECT `User`.`name` , `User`.`surname` , `User`.`email_personal` , `User`.`rf_id` , `User`.`gender` , `User`.`height` , `UserQuestionary`.`id`
FROM `woa`.`users` AS `User`
LEFT JOIN `woa`.`user_questionaries` AS `UserQuestionary` ON ( `UserQuestionary`.`user_id` = `User`.`id`
AND `UserQuestionary`.`questionary_id` =1 )
WHERE `User`.`role` =1

So i write following paginate query (I need pagination also) .

$paginate = array(
    'conditions' => array(
        'User.role' => 1,                
    ),
    'fields' => array(
        'User.name',
        'User.surname',
        'User.email_personal',
        'User.rf_id',
        'User.gender',
        'User.height',
        'UserQuestionary.id'
    ),
    'joins' => array(
        array(
            'alias' => 'UserQuestionary',
            'table' => 'user_questionaries',
            'type' => 'LEFT',
            'conditions' => 'UserQuestionary.user_id = User.id AND UserQuestionary.questionary_id = ' . $id
        )
    ),
    'limit' => 10,
    'order' => array(
        'name' => 'asc'
    ),
);

But it makes several queries and show unwanted data.

My model is

<?php
App::uses('AppModel', 'Model');

/**
 * UserQuestionariesUser Model
 *
 * @property User $User
 * @property Questionary $Questionary
 */
class UserQuestionariesUser extends AppModel
{
    //The Associations below have been created with all possible keys, those that are not needed can be removed

    public $useTable = 'user_questionaries';

    /**
     * hasAndBelongsToMany associations
     *
     * @var array
     */
    public $hasAndBelongsToMany = array(
        'User' => array(
            'className' => 'User',
            'foreignKey' => 'user_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
        ),
        'Questionary' => array(
            'className' => 'Questionary',
            'foreignKey' => 'questionary_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
        )
    );
}

How can i do above query? Is it possible in Cakephp?