Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bisakah saya membuat halaman kueri khusus tanpa mengesampingkan pagination default?

Sebenarnya jika Anda BISA melakukannya dengan find, Anda BISA melakukannya dengan paginate. Anda dapat melihat di sini

Tetapi untuk lebih spesifik Anda dapat menambahkan condition/limit/fields/contain/order dll yang Anda gunakan dalam find ke fungsi paginate.

Saya belum menggunakan grup di paginate tetapi HARUS berfungsi :D

Dalam kasus Anda, Anda akan memiliki sesuatu seperti ini:

$this->paginate = array(
   'fields' => array(
        'Product.category_id',
        'COUNT(Product.hotel_id) as total'
    ),
   'group' => array(
        'Product.category_id HAVING COUNT(Product.hotel_id) > 1')
    )
);

$data = $this->paginate('Product');

Semoga berhasil, kirim komentar hasil Anda, jika tidak berhasil, Anda harus menimpanya, karena tidak menerima kondisi grup ... meskipun saya pikir itu akan berhasil karena pagination pada akhirnya ditemukan.

EDIT:

Anda dapat mencoba melakukan sesuatu seperti ini:

Ganti paginate() dan paginateCount() tetapi dengan tweak, selipkan kondisi sehingga Anda dapat mengetahui apakah itu pagination dengan memiliki atau tidak. Sesuatu seperti ini:

function paginate($conditions, $fields, $order, $limit, $page = 1, $recursive = null, $extra = array()){
   //if no having conditions set return the parent paginate 
   if (empty($conditions['having'])
       return parent::paginate($conditions, $fields, $order, $limit, $page, $recursive, $extra)
   //if having conditions set return your override

//override code here

}

Kemudian Anda melakukan sesuatu yang serupa di paginateCount(), dengan begitu Anda memiliki paginate selektif. ingat untuk melakukan unset $conditions['have'] setelah tidak diperlukan atau ingat untuk meletakkannya di suatu tempat yang tidak memengaruhi temuan Anda;)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tips Berguna untuk Memecahkan Kesalahan Umum di MySQL

  2. Bagaimana cara agar kategori tingkat pertama hanya ditampilkan sekali?

  3. Cara menggunakan pagination dengan laravel DB ::pilih kueri

  4. MySQL LEFT JOIN, GROUP BY dan ORDER BY tidak berfungsi sesuai kebutuhan

  5. Mencari dan memfilter / menyempurnakan hasil basis data di Laravel 4