Я считаю, что правильный способ сделать это - использовать области действия .
Вы можете определить любое количество областей, которые упорядочивают набор результатов, и использовать их следующим образом:
Company::model()->scopeName()->findAll();
Если ваше приложение всегда требует, чтобы компании выбирались в отсортированном порядке, вы даже можете определить область по умолчанию в классе вашей модели:
public function defaultScope() {
return array('order' => 'company ASC');
}
Это приведет к тому, что каждый вызов Company::model()->findAll();
будет возвращать отсортированные результаты.