sql >> Database teknologi >  >> RDS >> Mysql

Hvordan bruger man JOIN i Yii2 Active Record til relationel model?

Brug joinWith . For mere se

For eksempel for din sagskode sådan:

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

EDIT:Jeg finder en bedre løsning.

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



  1. Opdel varchar i separate kolonner i Oracle

  2. MySQL:Tjek begrænsning med Dato

  3. Tæl dubletter poster i Mysql-tabel?

  4. InMemory DUPLIKAT Forvirring i Oracle RAC