Обратите внимание, что "рейтинг поста" и "рейтинг пользователя" может быть как одинаковой сущностью, так и разными. В зависимости от Вашей конкретной ситуации.
Поведения никак не мешают SOLID и в тоже время это не означает, что они нужны в данном конкретном случае. Так как поведения - это фишка yii, иногда кажется что они рушат какие-то базовые принципы, но это не совсем так.
class RatingUserRecord extends ActiveRecord
{
//База данных
}
class RatingUser extends RatingUserRecord
{
/**
* Рейтинг за визит
*/
public function addVisit()
{
///логика начисления
}
/**
* Рейтинг за назначение
*/
public function addAppointed()
{
///логика начисления
}
* Рейтинг за организацию мероприятия
*/
public function addOrganizationEvent()
{
///логика начисления
}
}