如何在Cake PHP 3分页中添加子查询以获得平均值

时间:2017-06-23 05:35:51

标签: php mysql cakephp pagination cakephp-3.0

我正在做Cake PHP 3x分页并且必须执行mysql avg功能并获得结果。

SQL查询是:

$conn->prepare('SELECT u.id, c.user_id, u.name, u.email, c.phone_number, c.candidate_rating, c.modified, c.city, c.created, 
(SELECT AVG(internal_rating) FROM schedule WHERE gigstr = c.user_id AND internal_rating != 0) AS rating_avg
                        FROM user u
                        INNER JOIN candidate c ON u.id = c.user_id
                        ORDER BY u.id DESC
                       ');

分页代码是:

$this->paginate = [
            'fields' => ['user_id', 'phone_number', 'country', 'city', 'created', 'User.email', 'User.name'],
            'order' => [
                'User.id' => 'desc'
            ],
            'contain' => ['User'],
            'limit' => 30
        ];
$candidates = $this->paginate($this->Candidate);

我的代码在候选控制器中,我需要添加该子查询以获得平均分页。 子查询

(SELECT AVG(internal_rating) FROM schedule WHERE gigstr = c.user_id AND internal_rating != 0) AS rating_avg

schedule也是一个单独的模型(表格)

0 个答案:

没有答案