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

Jak używać JOIN w Yii2 Active Record dla modelu relacyjnego?

Użyj joinWith . Więcej informacji zobacz

Na przykład w przypadku kodu sprawy w ten sposób:

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

EDYCJA:Znajduję lepsze rozwiązanie.

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. Najłatwiejszy sposób na skopiowanie bazy danych MySQL?

  2. Awaria bazy danych w źródłach danych Jboss

  3. Co oznacza i robi MYSQLI_NUM?

  4. Jak stworzyć TRIGGER w SEQUELIZE (nodeJS)?

  5. Wyszukiwanie pełnego imienia lub imienia lub nazwiska w bazie danych MySQL z imieniem i nazwiskiem w osobnych kolumnach