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

Bagaimana cara menggunakan JOIN di Yii2 Active Record untuk model relasional?

Gunakan joinWith . Untuk lihat lebih lanjut

Misalnya, untuk kode kasus Anda seperti itu:

Books::find()
    ->joinWith(['reviews' => function ($q) {
        $q->select(['COUNT(*) as cnt']);
    }])
    ->orderBy(['cnt' => 'DESC'])
    ->all();

EDIT:Saya menemukan solusi yang lebih baik.

Books::find()
    ->joinWith(['reviews'])
    ->select(['*', 'COUNT(reviews.*) as cnt'])
    ->groupBy('RELATION_FIELD(Example: reviews.book_id)')
    ->orderBy(['cnt' => 'DESC'])
    ->all();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan nama kolom dari hasil fungsi terkecil?

  2. Mengejek PDO dengan phpunit

  3. Django admin MySQL lambat INNER JOIN

  4. Apakah MySQL mengindeks kolom kunci asing secara otomatis?

  5. Server MySQL telah hilang saat mengimpor file sql besar