2012-10-23 26 views
8

我使用CakePHP V2.0.2CakePHP的分页为了不工作

我有麻烦

$this->paginate = array(
       "fields" => array(
        "Player.join_country" 
       ), 
       "joins" => array(
        array(
         "table" => "banner_key_current_ext", 
         "alias" => "BannerKeyCurrentExt", 
         "type" => "inner", 
         "conditions" => "BannerKeyCurrentExt.banner_key_id = BannerKeyCurrent.banner_key_id" 
        ), 
        array(
         "table" => "players", 
         "alias" => "Player", 
         "type" => "inner", 
         "conditions" => "BannerKeyCurrentExt.identifier = Player.zban_player_id" . $country_condition 
        ), 
        array(
         "table" => "users", 
         "alias" => "User", 
         "type" => "inner", 
         "conditions" => "BannerKeyCurrent.user_id = User.user_id" 
        ), 
        array(
         "table" => "tag_links", 
         "alias" => "TagLinks", 
         "type" => "inner", 
         "conditions" => "TagLinks.id = BannerKeyCurrent.user_id AND TagLinks.tag_id = 710" 
        ) 
       ), 
       "conditions" => array(
        "BannerKeyCurrent.date BETWEEN ? AND ?" => array(
         $this->request->query["period_from"], 
         $this->request->query["period_to"] 
        ), 
        "BannerKeyCurrent.plan_id" => $brands_plan_map[$this->request->query["brand"]]["plans"], 
        "BannerKeyCurrent.operation_id" => $operation_ids 
       ), 
       "group" => array("Player.join_country"), 
       "order" => array(
        "Player.join_country" => "DESC" 
       ), 
       "limit" => 999999, 
       "maxLimit" => 999999 
      ); 

一切工作各个领域,加入,团体,限制没有问题,但订货简单不会工作。输出sql_dump元素表明它永远不会被添加到查询中。

任何帮助将不胜感激。

感谢

+0

你的paginate调用是什么样的,调试($ this-> modelClass)是什么,控制器的输出是什么? – jeremyharris

+0

我有同样的问题。任何解决方案 – XuDing

回答

0

尝试:

$this->Paginator->settings = array(
    "fields" => array(
       "Player.join_country" 
      ), 
      "joins" => array(
       array(
        "table" => "b... 

$pagedResults = $this->paginate('YourModel'); 
0

是否有通过在URL参数的任何分页顺序?

Paginator将通过查询中的任何指令覆盖url中的任何顺序(因此排序列标题起作用)。

如果订单参数引用了无效字段,那么在从查询中删除您的订单以准备在网址中添加订单之后,蛋糕可能会忽略它。

8

这样做

"order" => "Player.join_country DESC" 

为我工作。

我希望它也能帮助你。

+0

感谢人,它工作,虽然很奇怪,数组也应该按照文档工作http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#find – dav

+0

它为我工作当我在文档中使用它时。然后我在paginate()的第二个参数上添加了一个过滤条件,并且它停止了工作,直到我完成了这个过程。 – paulmorriss