2016-01-11 4 views
0

Я хочу cast OrderBy в построителе запросов Laravelроли в построителе запросов Laravel

, потому что мой price является varchar типа ..

так, когда это сортировка ... результат далеко я хочу .. .

мой сценарий как этот

DB::table('test')->where(...)->orderBy('price')->get(); 

я уже попробовать что-то вроде этого

$query = CAST(price AS DECIMAL(10,2)) DESC; 
DB::table('test')->where(...)->orderBy($query)->get(); 

как я могу бросить OrderBy конструктор запросов, так что я могу сортировать price убывание

ответ

2

Попробуйте его с orderByRaw():

$query = "CAST(price AS DECIMAL(10,2)) DESC"; 
DB::table('test')->where(...)->orderByRaw($query)->get(); 
+0

У меня есть проблема в '$ query' .....' синтаксис ошибка, неожиданный «AS» (T_AS) ' – Neversaysblack

+1

try' $ query = "CAST (цена AS DECIMAL (10,2)) DESC"; 'с кавычками. – Adrenaxus

+0

@Adrenaxus приятно, что он работает .. – Neversaysblack

Смежные вопросы