Ad

Cast In Query Builder Laravel

- 1 answer

I want to cast orderBy in query builder laravel

because my price is varchar type..

so when it's sorting...the result is far from I want...

my script like this

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

i already try something like this

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

how can I cast OrderBy query builder so I can sort price desc

Ad

Answer

Try it with orderByRaw():

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