sql >> Databáze >  >> RDS >> Mysql

CakePHP Počet stránkování neodpovídá dotazu?

Je to kvůli group by Našel jsem řešení. Rád bych vložil odkaz, ale ztratil jsem ho, takže zašlu kód:

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;
}

Přidal jsem to do app_model a funguje mi to dobře :)

Doufám, že to pomůže

Upraveno: Našel jsem odkaz =)

http://wiltonsoftware.com/posts /view/custom-group-by-pagination-and-a-calculated-field



  1. Použijte COLUMNPROPERTY() k vrácení informací o sloupcích nebo parametrech na serveru SQL Server

  2. SUM(poddotaz) v MYSQL

  3. Spring 3 MVC + MySQL:nelze uložit znak €

  4. AWS RDS MySql – jak povolit přístup po nastavení „Veřejně dostupné“