请帮帮我, 我有查询: SELECT * from(select * from products ORDER BY id DESC LIMIT 20)AS result ORDER BY discount DESC LIMIT 14
那么,如何在laravel 5中转换为查询构建器。 TKS!
答案 0 :(得分:0)
尝试类似:
产品:: orderBy('id','desc') - > take(20) - > orderBy('discount','desc') - > take(14) - > get();
答案 1 :(得分:0)
使用查询构建器和导入(使用)DB,可以构建和获取所需的结果。
use DB;
$result = DB::table(
DB::raw("(" .
DB::table('products')
->select('*')
->orderBy('id', 'desc')
->limit(20)
->toSql()
. ") as result"
)
)
->select('*')
->orderBy('discount', 'desc')
->limit(14)
->get();
table()选择要查询的表。在这种情况下,我们正在构建一个单独的SQL语句来获取表。
选择()您想要查看的列。
orderBy($ column,$ direction)其中$ column是您要订购的列的名称,$ direction是订单,desc或asc。
limit($ limit)仅将$ limit项返回到结果集。
toSql()以字符串形式返回当前的QueryBuilder SQL语句。
get()返回Collection中的数据。
还在缺少的折扣订单中添加。