【问题标题】:CakePHP Pagination Order ResultCakePHP 分页顺序结果
【发布时间】:2013-08-24 01:05:49
【问题描述】:
[0] => Array
        (
            [Host] => Array
                (
                    [id] => 2821
                    [user_id] => 7090
              ) 
            [Review] => Array
                (
                      [0] => Array
                          (
                                 [id] => 852
                                 [host_id] => 2821
                                 [user_id] => 6592
                           ) 
                      [1] => Array
                          (
                                 [id] => 853
                                 [host_id] => 2821
                                 [user_id] => 6532
                           ) 
         )
[1] => Array
        (
            [Host] => Array
                (
                    [id] => 2221
                    [user_id] => 7390
              ) 
            [Review] => Array
                (
                ) 
         )

我想根据主机的计数审查显示分页结果的顺序。我正在尝试使用虚拟字段的概念进行排序。

请帮我提出这个建议..

【问题讨论】:

  • “我正在尝试使用虚拟字段的概念进行排序。”,那么您尝试了什么?
  • 我用于在 Review Model 中添加虚拟字段..... var $virtualFields = array( 'rw_count' => 'COUNT(Review.host_id)' );
  • 你为了完成排序做了什么? (这就是我之前的意思,抱歉我不清楚)

标签: php arrays cakephp pagination


【解决方案1】:

参考Cakephp websie

virtualFields 的实现有一些限制。首先你 不能在关联模型上使用 virtualFields 来获取条件、订单、 或字段数组。

但是解决方法类似于:

审查模型:

public $virtualFields = array('rw_count' => COUNT(Review.host_id));

主机型号:

class Host extends Model{
    public function __construct($id = false, $table = null, $ds = null) {
        parent::__construct($id, $table, $ds);
        $this->virtualFields['rw_count'] = $this->Review->virtualFields['rw_count'];
    }
}

主机控制器

public $paginate = array(
    'limit' => 25,
    'order' => array(
        'rw_count' => 'desc'
    )
);

鉴于我没有您架构的完整详细信息,这就是我认为您可以使用的,但概念保持不变

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多