Вставить в построитель запросов laravel

Я хочу cast orderBy в построителе запросов 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 desc


person Neversaysblack    schedule 11.01.2016    source источник


Ответы (1)


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

$query = "CAST(price AS DECIMAL(10,2)) DESC";
DB::table('test')->where(...)->orderByRaw($query)->get();
person Jeff    schedule 11.01.2016
comment
попробуйте $query = "CAST(price AS DECIMAL(10,2)) DESC"; с кавычками. - person Adrenaxus; 11.01.2016
comment
Рад, что смог помочь. Ваше здоровье. - person Adrenaxus; 11.01.2016
comment
Спасибо брат. - person sh6210; 30.03.2021