請幫幫我, 我有查詢: 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的傢伙,我做到了 –