sql >> Database >  >> RDS >> Mysql

Hoe JOIN te gebruiken in Yii2 Active Record voor relationeel model?

Gebruik joinWith . Voor meer zie

Bijvoorbeeld voor uw case-code zoals deze:

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

EDIT:ik vind een betere oplossing.

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



  1. Gegevenscontrole in NHibernate en SqlServer

  2. SQL Server 2016:een tabel maken

  3. MySQL-fout bij het afkappen van de tabel

  4. De door de server ondersteunde sorteringen vinden in MySQL