public function defaultScope()
{
$alias = $this->getTableAlias(true,false);
return array(
'select' => array(
"{$alias}.*",
"(SELECT COUNT(*) FROM `comments` c WHERE c.`post_id`={$alias}.`id`) as comments_count",
),
);
}
$model->comments_count;
А вообще, например, тут подробно всё написано, не вижу смысла копипастить. Сам только недавно туда перевёл, всё изучал. Ссылку на рейтинги НПФ выше давал, выбирайте)