请帮帮我, 我有查询: SELECT * FROM(SELECT * FROM产品ORDER BY ID DESC LIMIT 20),结果ORDER BY折扣DESC LIMIT 14如何从子查询中laravel使用查询生成器中选择5
那么,如何在laravel 5中转换成查询生成器。 tks!
请帮帮我, 我有查询: SELECT * FROM(SELECT * FROM产品ORDER BY ID DESC LIMIT 20),结果ORDER BY折扣DESC LIMIT 14如何从子查询中laravel使用查询生成器中选择5
那么,如何在laravel 5中转换成查询生成器。 tks!
试着这么做:
产品::排序依据( '身份证', '递减') - >取(20) - >排序依据( '折扣', '降序') - >取(14) - >得到();
tks的家伙,我试过了,但结果不orderBy('折扣')。它给出了14条记录('id','desc')。你有其他的制作吗? –
您可以使用: $ q = Products :: orderBy('id','desc') - > take(20) - > get(); 之后 $ test = $ q-> sortByDesc('nome') - > take(14); 看看这个作品 – itepifanio
使用查询构建器和导入(使用)数据库,您可以构建和获取所需的结果。
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语句来获取表。
select()您希望看到的列。
orderBy($ column,$ direction)其中$ column是您要订购的列的名称,$ direction是订单,desc或asc。
limit($ limit)只返回$ limit项目到结果集。
toSql()以字符串形式返回当前QueryBuilder SQL语句。
get()返回集合中的数据。
此外在缺少的折扣顺序中添加。
请添加一些上下文到你的答案。只是代码通常不会为好的答案 –
我认为你错过了“ORDER BY折扣DESC” –
看看[this](https://stackoverflow.com/questions/24823915/how-to-select-from-subquery-using-laravel-query-builder),可能有帮助。 – molagbal
tks的家伙,我做到了 –