Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Liczba stronicowania CakePHP nie pasuje do zapytania?

Dzieje się tak z powodu group by Znalazłem obejście. Chciałbym umieścić link, ale go zgubiłem, więc wyślę kod:

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

Dodałem to w app_model i działa u mnie dobrze :)

Mam nadzieję, że to pomoże

Edytowane: Znalazłem link =)

http://wiltonsoftware.com/posts /widok/niestandardowe-grupowanie-według-stronnic-i-pola-obliczonego



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL INSERT INTO do wielu tabel

  2. F# Beginner:pobieranie tablicy danych z serwera

  3. MySQL 5.6 - tabela blokuje się nawet przy użyciu ALGORITHM=inplace

  4. Czy istnieje limit pamięci dla metody json_encode()?

  5. MySQL Workbench nie może załadować mysql.proc