Criteria, сортировка =(

Помогите пожалуйста с сортировкой. в модели есть у нас такое




public function loadWatchesRange($id){


      $criteria=new CDbCriteria;


          $criteria->with = array(

               'attr_values.attr_variant',

               'cats' => array(

                    'select'=>'cats.id_cat, cats.cat_alias, cats.cat_name, cats.cat_par',

                    'condition' => 'cats.id_cat = :id_cat',

                    'with' => array(

                         'brand' => array(

                              'select' => 'brand.cat_alias, brand.cat_name',

                         ),

                    ),

               ),

               'reference' => array('select'=>'reference'),

               'price',

          );


         $criteria->order = 't.id_prod DESC';

         $criteria->params = array(

            ':id_cat' => $id,

         );




          return new CActiveDataProvider('Production', array(

               'criteria'=>$criteria,

               'pagination' => array('pageSize' => 40),     

          ));

      

   }



как видите, есть связь attr_variant.

нужно сортировать по ней. например так:

первыми идут товары где

attr_variant.id_variant = 48

после них идут товары где

attr_variant.id_variant = 13

потом

attr_variant.id_variant = 50

и тд.

помогите. буду благодарен

http://www.yiiframework.com/wiki/281/searching-and-sorting-by-related-model-in-cgridview/ - тут вроде как хорошее разьяснение решения вашей проблемы.

это немного не то. по ссылке разнесняют , как сортировать по order by, а мне немного другое нужно

ох блин ну и запрос через левое ухо )

ну по идее если есть возможность запустить этот запрос разом то есть

выставить параметр

$criteria->together = true;

то тогда чтоб отсортировать по нужному параметру вам нужно

$criteria->order = ‘attr_variant.id_variant DESC’;