sql >> Base de Datos >  >> RDS >> Mysql

¿El recuento de paginación de CakePHP no coincide con la consulta?

Es por el group by Encontré una solución. Me encantaría poner el enlace pero lo he perdido, así que publicaré el código:

public function paginateCount($conditions = null, $recursive = 0, $extra = array()) {
    $parameters = compact('conditions', 'recursive');
    if (isset($extra['group'])) {
        $parameters['fields'] = $extra['group'];
        if (is_string($parameters['fields'])) {
            // pagination with single GROUP BY field
            if (substr($parameters['fields'], 0, 9) != 'DISTINCT ') {
                $parameters['fields'] = 'DISTINCT ' . $parameters['fields'];
            }
            unset($extra['group']);
            $count = $this->find('count', array_merge($parameters, $extra));
        } else {
            // resort to inefficient method for multiple GROUP BY fields
            $count = $this->find('count', array_merge($parameters, $extra));
            $count = $this->getAffectedRows();
        }
    } else {
        // regular pagination
        $count = $this->find('count', array_merge($parameters, $extra));
    }
    return $count;
}

Lo agregué en app_model y funciona bien para mí :)

Espero que esto ayude

Editado: Encontré el enlace =)

http://wiltonsoftware.com/posts /ver/grupo-personalizado-por-paginación-y-un-campo-calculado