Как подсчитать количество записей в связанных таблицах, через ActiveRecord?

У меня есть три таблицы.
table1->hasMany(table2)->hasMany(table3);
Как можно получить количество записей в третей таблице, если сделать в первой выборку по условиям.?
  • Вопрос задан
  • 393 просмотра
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
class User ....
    public function getNapravlenie(){
        return $this->hasMany(Napravlenie::className(),['historyID'=>'id']);
    }

    public  function  getAnaliz(){
        return $this->hasMany(CheckAnaliz::className(), ['napravlenieID' => 'id'])->via('napravlenie');
    }

   public  function  getAnalizCount(){
        return count($this->analiz);
    }
....

где-то
$users = Users::find()->with(['analiz','napravlenie'])->all();
foreach($users as $one){
    echo $one->id . " = " . $one->analizCount;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
joinWith() && count()
Нужен контекст задачи и примеры кода, без них сложно что-либо подсказать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы