Задать вопрос
@Leopandro
Разработчик CRM/ERP систем

Как задать расширенную сортировку?

Мне нужно отсортировать строку как число. Для этого использую:
select * from `panel` order by cast(town as unsigned) asc LIMIT 20


Как написать это в $dataProvider? с учетом что может прийти asc или desc, т.е какое-то правило нужно куда-то ввести.
Стандартно есть только такая сортировка:
'town' => [
					'asc' => ['town' => SORT_ASC],
					'desc' => ['town' => SORT_DESC]
				],


В общем мне нужно как то написать правило чтоб если там где 'asc' => 'строка' то эта строка и становилась бы Expression'ом для этой команды, например
'town' => [
					'asc' => 'cast(town as unsigned) asc',
					'desc' => 'cast(town as unsigned) desc
				],

Как это написать?
  • Вопрос задан
  • 87 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
bitver
@bitver
'town' => [
          'asc' => ['cast(town as unsigned)' => SORT_ASC],
          'desc' => ['cast(town as unsigned)' => SORT_DESC]
        ],
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы