CakePHP:使用自定义计算字段分页

时间:2015-09-03 10:16:50

标签: cakephp paginate cakephp-2.x

我有2个mysql表如下:

客户:ID | NAME

Customers_level :ID | USER_ID | CUSTOMER_ID | LEVEL

我需要按名称对客户列表进行分页,以及他的平均水平(每个用户为他的客户定义一个级别)。例如,如果我有以下示例:

客户

ID | NAME
1  | democustomer
2  | bubul

Customers_level

ID | USER_ID | CUSTOMER_ID | LEVEL
1  | 8       | 1           | 2
2  | 9       | 1           | 4
3  | 11      | 2           | 3
4  | 13      | 2           | 4

我需要为每位顾客提供他的平均水平:

Customer_average_level

NAME           | AVG_LEVEL
democustomer   | 3
bubul          | 3.5

这个sql请求是可能的:

SELECT c.name, ROUND(AVG(ucn.note)) FROM `customers` as c, `customers_level` as ucn WHERE c.id = ucn.customer_id GROUP BY ucn.customer_id ASC

我可以对名称进行排序,但我不知道如何添加可用于分页器的AVG_LEVEL字段? 这是我的控制器:

    $this->Paginator->settings = $this->paginate;
    $customers = $this->Paginator->paginate('Customer');

如何在我的客户分页数组列表中添加虚拟字段,以便能够对名称和平均等级进行排序?

0 个答案:

没有答案