[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
(
)
)
我想根据主机的计数审查显示分页结果的顺序。我正在尝试使用虚拟字段的概念进行排序。
请帮我建议..
答案 0 :(得分:1)
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'
)
);
鉴于我没有关于你的架构的完整细节,这就是我认为你可以使用但概念保持不变的内容