蛋糕PHP分页顺序结果


CakePHP Pagination Order Result

[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
                (
                ) 
         )

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

请帮助我建议这个..

参考 Cakephp websie

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'
    )
);

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