在查询生成器 laravel 中投射
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/34713490/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Cast in query builder laravel
提问by Neversaysblack
I want to cast
orderBy in query builder laravel
我想cast
在查询生成器 laravel 中 orderBy
because my price
is varchar
type..
因为我price
是varchar
类型..
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
我如何投射 OrderBy 查询构建器,以便我可以对price
desc进行排序
回答by Jeff
Try it with orderByRaw()
:
试试看orderByRaw()
:
$query = "CAST(price AS DECIMAL(10,2)) DESC";
DB::table('test')->where(...)->orderByRaw($query)->get();