Kohana Выберите заказ по

kohana

135 просмотра

2 ответа

37 Репутация автора

Иногда, когда я обновляю страницу, я сортирую события по убыванию по дате, но мне нужен возрастающий порядок по времени.

http://prntscr.com/bubuz5

http://prntscr.com/bubvad

Код

public function get_frontpage_events() 
{
    return DB::select()->
                from('events')->
                where_open()->
                where('frontpage', '=', 1)->
                where('status', '=', 1)->
                where('lang', '=', Session::instance()->get('lang'))->
                where_close()->
                order_by('date', 'ASC')->order_by('time', 'ASC')->
                execute()->
                as_array();
}
Автор: MrEnergy Источник Размещён: 18.07.2016 11:43

Ответы (2)


0 плюса

4993 Репутация автора

Ваш запрос выглядит нормально.

Я не знаю, есть ли у вас журнал запросов, но если у вас есть, вы можете проверить, какой запрос выполняется, скопируйте и вставьте его и запустите его самостоятельно. Приведенный выше код должен создать этот запрос SQL (я думаю, вы используете MySQL):

SELECT * FROM `events` WHERE (`frontpage` = 1 AND `status` = 1 AND `lang` = 'EN') ORDER BY `date` ASC, `time` ASC

Вы делаете какой-либо другой порядок / сортировку по вашему мнению или в вашем контроллере? Когда вы просматриваете результаты, вы уверены, что отображаете все результаты?

Автор: Daan Размещён: 26.07.2016 09:32

0 плюса

68 Репутация автора

Проблема может быть в синтаксисе order_by () -> order_by () . Этот метод позволяет использовать массив в первом аргументе, попробуйте это:

order_by(array('date','time'), 'ASC')
Автор: ilyatom Размещён: 18.08.2016 12:23
Вопросы из категории :
32x32