@ImPuuLsE

Как сделать рэндомную сортировку товаров в Yii?

Здравствуйте! на данный момент товары показываются по наименованию в алфавитном порядке. Те товары которым проставлен "Приоритет" (число > 0), показываются первыми, затем остальные.
Как сделать отображение в случайном порядке, с учетом приоритета (т.е. товары с числовым "Приоритетом" так же как сейчас первыми, а товары с нулевым приоритетом следом за ними в случайном порядке
public function sortedByPriorityInCatalog()
    {
        $criteria = $this->getDbCriteria(); 
        $criteria->join = 'left join '.SeriesPriority::model()->tableName().' sp
                           on t.series_id = sp.series_id';
        $criteria->order = 'IF(t.priority=0,65000,t.priority),
                            IF(sp.priority >0,sp.priority,65000),
                            t.name';
        $criteria->mergeWith(array(
            'with'=>array('images','currency','manufacturer','series'),
        ));
        return $this;
    }
  • Вопрос задан
  • 2251 просмотр
Пригласить эксперта
Ответы на вопрос 1
kawabanga
@kawabanga
Возможно
$criteria->order = 'IF(t.priority=0,65000,t.priority),
IF(sp.priority >0,sp.priority,65000),
rand()';
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы