Q:

Yii2 сложный SQL запрос

Есть SQL запрос:
SELECT * ,(SELECT COUNT(*) FROM `likes` WHERE postId = id) AS likes FROM `posts`;

Как мне поместить этот запрос в модель, что бы возвращался объект, который можно будет поместить в GridView.
ОБНОВЛЕНИЕ:
Придумал вот такой костыль. Но хотелось бы сделать все "правильно".
public static function getVideos()
{
    return static::find()->select([
        '* ,(SELECT COUNT(*) FROM `likes` WHERE videoId = id) AS likes'
      ])->asArray();
}

A:

Подзапросы можно использовать таким образом.

Источник: Yii2, построитель запросов select()

