使用cakephp 1.3生成数据的cakephp代码

使用cakephp 1.3生成数据的cakephp代码,cakephp,Cakephp,我使用的是CakePHP1.3版本 我试图用分页方式显示数据,但我的代码查询错误 请帮助纠正它们 下面是我的代码 $this->paginate = array( 'fields' => array('u_data.lane_id AS LaneId'), 'joins' => array(array( 'table' => 'countries',

我使用的是CakePHP1.3版本

我试图用分页方式显示数据,但我的代码查询错误

请帮助纠正它们

下面是我的代码

 $this->paginate = array(
            'fields' => array('u_data.lane_id AS LaneId'),
            'joins' => array(array(
                                'table' => 'countries',
                                'alias' => 'origin_country',
                                'type' => 'INNER',
                                'conditions' => array('origin_country.id'=>'CustomerRoute.origin_country')
                            ),
                            array(
                                'table' => 'countries',
                                'alias' => 'dest_country',
                                'type' => 'INNER',
                                'conditions' => array('dest_country.id'=>'CustomerRoute.dest_country')
                            ),
                            array(
                                'table' => 'states',
                                'alias' => 'origin_state',
                                'type' => 'INNER',
                                'conditions' => array('origin_state.id'=>'CustomerRoute.origin_state')
                            ),
                            array(
                                'table' => 'states',
                                'alias' => 'dest_state',
                                'type' => 'INNER',
                                'conditions' => array('dest_state.id'=>'CustomerRoute.dest_state')
                            ),
                            array(
                                'table' => 'postalcodes',
                                'alias' => 'origin_city',
                                'type' => 'INNER',
                                'conditions' => array('origin_city.id'=>'CustomerRoute.origin_city')
                            ),
                            array(
                                'table' => 'postalcodes',
                                'alias' => 'dest_city',
                                'type' => 'INNER',
                                'conditions' => array('dest_city.id'=>'CustomerRoute.dest_city')
                            ),
                            array(
                                'table' => 'portfolios',
                                'alias' => 'p',
                                'type' => 'INNER',
                                'conditions' => array('p.id'=>'CustomerRoute.portfolio_id')
                            ),
                            array(
                                'table' => 'supplier_uquotes_data',
                                'alias' => 'u_data',
                                'type' => 'LEFT',
                                'conditions' => array('CustomerRoute.id'=>'u_data.lane_id')
                            )),
            'conditions' => array('CustomerRoute.portfolio_id' =>'"'.$_SESSION["portfolioid"].'"', 'u_data.supplier_id IN' => '"'.implode(',',$_SESSION['supplierid']).'"'),
            'group' => array('CustomerRoute.id'),
            'limit' => 10);
        $content = $this->paginate('CustomerRoute');

        print_r($content);   
        exit;
上面的代码正在下面查询

SELECT `u_data`.`lane_id` AS `LaneId` FROM `customers` AS `Customer` INNER JOIN countries AS `origin_country` ON (`origin_country`.`id` = 'CustomerRoute.origin_country') INNER JOIN countries AS `dest_country` ON (`dest_country`.`id` = 'CustomerRoute.dest_country') INNER JOIN states AS `origin_state` ON (`origin_state`.`id` = 'CustomerRoute.origin_state') INNER JOIN states AS `dest_state` ON (`dest_state`.`id` = 'CustomerRoute.dest_state') INNER JOIN postalcodes AS `origin_city` ON (`origin_city`.`id` = 'CustomerRoute.origin_city') INNER JOIN postalcodes AS `dest_city` ON (`dest_city`.`id` = 'CustomerRoute.dest_city') INNER JOIN portfolios AS `p` ON (`p`.`id` = 'CustomerRoute.portfolio_id') LEFT JOIN supplier_uquotes_data AS `u_data` ON (`CustomerRoute`.`id` = 'u_data.lane_id') LEFT JOIN `jobtitles` AS `Jobtitle` ON (`Customer`.`job_title` = `Jobtitle`.`id`) LEFT JOIN `countries` AS `Country` ON (`Customer`.`country` = `Country`.`id`) LEFT JOIN `states` AS `State` ON (`Customer`.`state` = `State`.`id`) LEFT JOIN `market_areas` AS `MarketArea` ON (`Customer`.`market_area` = `MarketArea`.`id`)  WHERE `CustomerRoute`.`portfolio_id` = '\"69\"' AND `u_data`.`supplier_id` IN '\"37\"'  GROUP BY `CustomerRoute`.`id`   LIMIT 10 
但是我需要下面提到的查询的结果…下面提到的查询是我正确的查询

请建议我的代码有什么问题

SELECT u_data.lane_id AS LaneId, 
            origin_city.pcode AS origin_pcode, 
            dest_city.pcode AS dest_pcode
        FROM customer_routes AS CustomerRoute
        INNER JOIN countries AS origin_country ON ( origin_country.id = CustomerRoute.origin_country )
        INNER JOIN countries AS dest_country ON ( dest_country.id = CustomerRoute.dest_country )
        INNER JOIN states AS origin_state ON ( origin_state.id = CustomerRoute.origin_state )
        INNER JOIN states AS dest_state ON ( dest_state.id = CustomerRoute.dest_state )
        INNER JOIN postalcodes AS origin_city ON ( origin_city.id = CustomerRoute.origin_city )
        INNER JOIN postalcodes AS dest_city ON ( dest_city.id = CustomerRoute.dest_city )
        INNER JOIN portfolios AS p ON ( p.id = CustomerRoute.portfolio_id )
        LEFT JOIN supplier_uquotes_data AS u_data ON ( CustomerRoute.id = u_data.lane_id AND u_data.mode = '".$mode."')
        WHERE CustomerRoute.portfolio_id = '".$_SESSION["portfolioid"]."' AND u_data.supplier_id
        IN (".implode(',',$_SESSION['supplierid']).") GROUP BY CustomerRoute.id

您还应该定义其余字段,并像这样传递模型名称:$this->Prg->commonProcess('CustomerRoute')
$this->Prg->commonProcess('CustomerRoute'); 这是您的代码

$this->Prg->commonProcess('CustomerRoute'); $this->paginate = array( 'fields' => array('u_data.lane_id AS LaneId','origin_city.pcode AS origin_pcode','dest_city.pcode AS dest_pcode'), 'joins' => array(array( 'table' => 'countries', 'alias' => 'origin_country', 'type' => 'INNER', 'conditions' => array('origin_country.id'=>'CustomerRoute.origin_country') ), array( 'table' => 'countries', 'alias' => 'dest_country', 'type' => 'INNER', 'conditions' => array('dest_country.id'=>'CustomerRoute.dest_country') ), array( 'table' => 'states', 'alias' => 'origin_state', 'type' => 'INNER', 'conditions' => array('origin_state.id'=>'CustomerRoute.origin_state') ), array( 'table' => 'states', 'alias' => 'dest_state', 'type' => 'INNER', 'conditions' => array('dest_state.id'=>'CustomerRoute.dest_state') ), array( 'table' => 'postalcodes', 'alias' => 'origin_city', 'type' => 'INNER', 'conditions' => array('origin_city.id'=>'CustomerRoute.origin_city') ), array( 'table' => 'postalcodes', 'alias' => 'dest_city', 'type' => 'INNER', 'conditions' => array('dest_city.id'=>'CustomerRoute.dest_city') ), array( 'table' => 'portfolios', 'alias' => 'p', 'type' => 'INNER', 'conditions' => array('p.id'=>'CustomerRoute.portfolio_id') ), array( 'table' => 'supplier_uquotes_data', 'alias' => 'u_data', 'type' => 'LEFT', 'conditions' => array('CustomerRoute.id'=>'u_data.lane_id') )), 'conditions' => array('CustomerRoute.portfolio_id' =>'"'.$_SESSION["portfolioid"].'"', 'u_data.supplier_id IN' => '"'.implode(',',$_SESSION['supplierid']).'"'), 'group' => array('CustomerRoute.id'), 'limit' => 10); $content = $this->paginate('CustomerRoute'); $this->Prg->commonProcess('CustomerRoute'); $this->paginate=array( 'fields'=>数组('u_data.lane_id AS LaneId','origin_city.pcode AS origin_pcode','dest_city.pcode AS dest_pcode'), '连接'=>数组(数组( “表”=>“国家”, “别名”=>“原产国”, '类型'=>'内部', '条件'=>数组('origin\u country.id'=>'CustomerRoute.origin\u country') ), 排列( “表”=>“国家”, “别名”=>“目的地国家”, '类型'=>'内部', '条件'=>数组('dest\u country.id'=>'CustomerRoute.dest\u country') ), 排列( '表'=>'状态', “别名”=>“原始状态”, '类型'=>'内部', 'conditions'=>array('origin\u state.id'=>'CustomerRoute.origin\u state') ), 排列( '表'=>'状态', 'alias'=>'dest_state', '类型'=>'内部', 'conditions'=>array('dest_state.id'=>'CustomerRoute.dest_state') ), 排列( '表'=>'邮政编码', “别名”=>“原产地城市”, '类型'=>'内部', '条件'=>数组('origin\u city.id'=>'CustomerRoute.origin\u city') ), 排列( '表'=>'邮政编码', “别名”=>“目的地城市”, '类型'=>'内部', '条件'=>数组('dest_city.id'=>'CustomerRoute.dest_city') ), 排列( '表'=>'投资组合', “别名”=>“p”, '类型'=>'内部', '条件'=>数组('p.id'=>'CustomerRoute.portfolio\u id') ), 排列( “表”=>“供应商报价单数据”, “别名”=>“u_数据”, '类型'=>'左', 'conditions'=>array('CustomerRoute.id'=>'u\u data.lane\u id') )), “条件”=>array('CustomerRoute.portfolio_id'=>'”。$\u会话[“portfolioid”]。”,'u数据.supplier_id IN'=>'。内爆(',',$\u会话['supplierid'])。”, 'group'=>array('CustomerRoute.id'), ‘限制’=>10); $content=$this->paginate('CustomerRoute');
您还应该定义其余字段,并像这样传递模型名称:$this->Prg->commonProcess('CustomerRoute')
$this->Prg->commonProcess('CustomerRoute'); 这是您的代码

$this->Prg->commonProcess('CustomerRoute'); $this->paginate = array( 'fields' => array('u_data.lane_id AS LaneId','origin_city.pcode AS origin_pcode','dest_city.pcode AS dest_pcode'), 'joins' => array(array( 'table' => 'countries', 'alias' => 'origin_country', 'type' => 'INNER', 'conditions' => array('origin_country.id'=>'CustomerRoute.origin_country') ), array( 'table' => 'countries', 'alias' => 'dest_country', 'type' => 'INNER', 'conditions' => array('dest_country.id'=>'CustomerRoute.dest_country') ), array( 'table' => 'states', 'alias' => 'origin_state', 'type' => 'INNER', 'conditions' => array('origin_state.id'=>'CustomerRoute.origin_state') ), array( 'table' => 'states', 'alias' => 'dest_state', 'type' => 'INNER', 'conditions' => array('dest_state.id'=>'CustomerRoute.dest_state') ), array( 'table' => 'postalcodes', 'alias' => 'origin_city', 'type' => 'INNER', 'conditions' => array('origin_city.id'=>'CustomerRoute.origin_city') ), array( 'table' => 'postalcodes', 'alias' => 'dest_city', 'type' => 'INNER', 'conditions' => array('dest_city.id'=>'CustomerRoute.dest_city') ), array( 'table' => 'portfolios', 'alias' => 'p', 'type' => 'INNER', 'conditions' => array('p.id'=>'CustomerRoute.portfolio_id') ), array( 'table' => 'supplier_uquotes_data', 'alias' => 'u_data', 'type' => 'LEFT', 'conditions' => array('CustomerRoute.id'=>'u_data.lane_id') )), 'conditions' => array('CustomerRoute.portfolio_id' =>'"'.$_SESSION["portfolioid"].'"', 'u_data.supplier_id IN' => '"'.implode(',',$_SESSION['supplierid']).'"'), 'group' => array('CustomerRoute.id'), 'limit' => 10); $content = $this->paginate('CustomerRoute'); $this->Prg->commonProcess('CustomerRoute'); $this->paginate=array( 'fields'=>数组('u_data.lane_id AS LaneId','origin_city.pcode AS origin_pcode','dest_city.pcode AS dest_pcode'), '连接'=>数组(数组( “表”=>“国家”, “别名”=>“原产国”, '类型'=>'内部', '条件'=>数组('origin\u country.id'=>'CustomerRoute.origin\u country') ), 排列( “表”=>“国家”, “别名”=>“目的地国家”, '类型'=>'内部', '条件'=>数组('dest\u country.id'=>'CustomerRoute.dest\u country') ), 排列( '表'=>'状态', “别名”=>“原始状态”, '类型'=>'内部', 'conditions'=>array('origin\u state.id'=>'CustomerRoute.origin\u state') ), 排列( '表'=>'状态', 'alias'=>'dest_state', '类型'=>'内部', 'conditions'=>array('dest_state.id'=>'CustomerRoute.dest_state') ), 排列( '表'=>'邮政编码', “别名”=>“原产地城市”, '类型'=>'内部', '条件'=>数组('origin\u city.id'=>'CustomerRoute.origin\u city') ), 排列( '表'=>'邮政编码', “别名”=>“目的地城市”, '类型'=>'内部', “公司