当结果来自几个连接条件时,如何在cakepp中繁殖


how to paginate in cakephp when result comes from several join conditions

我在cakefp分页中遇到问题。在我深入之前,我想显示一些我在控制器中所做的代码

$this->paginate = array(
 'joins' => array(
                array(
                        'table' => 'job_posting_lists',
                        'conditions'=> array('job_posting_lists.firm_id')),
                        array(
                        'table' => 'firmsdetails',
                        'alias' => 'st',
                        'conditions'=> array('st.id')),
                ),               
            'conditions' =>array('job_posting_lists.select_industry'=>$id,'job_posting_lists.verify'=>1),
            'fields' => array('job_posting_lists.*','st.*'),
            'limit' => 3,
            'contain' => array('job_posting_lists'));
        $ListjobBycategories = $this->paginate(); 
        echo "<pre>";print_r($ListjobBycategories); die;
        $this->set('jobbycat',$ListjobBycategories);

ListjobBycategories中的结果是正确的,但它返回了更多关于1230的数据,在我的job_posting_datas中只有5行,下一页返回的结果与我所做的相同

尝试此代码,根据您的代码进行适当的更改,

$this->paginate = array(
     'joins' => array(
          array(
            'table' => 'tbl1',
            'alias' => 'alias1',
            'conditions'=> array('')
          ),array(
            'table' => 'tbl2',
            'alias' => 'alias2',
            'conditions'=> array('')
          ),array(
            'table' => 'tbl3',
            'alias' => 'alias3',
            'type' => 'left',
            'conditions'=> array('')
          ),
        ),               
                'conditions' => $displayConditions, // Your query conditions
                'fields' => $this->displayFields, // Your field set which you want to retrieve from tables
                'limit' => $show_page,// number of records you wish to retrieve in each page
                'group' => '', // field by which wish to grouping your data set
                'contain' => array(''),//It will contain name of all the Models which are in Join
            );
            $ListjobBycategories = $this->paginate(); // Call pagination function, it will retrieve all records 

如果有任何疑问,请告诉我。