2 回答

TA貢獻1804條經(jīng)驗 獲得超7個贊
不幸的是,沒有辦法呼吁paginate()收集。您可以手動對收集結(jié)果進行分頁或修改您的查詢并使用addSelect或orderByRaw包含變異值:
use Illuminate\Support\Facades\DB;
Product::select('*', DB::raw('(sell_price - ((discount * sell_price) / 100)) AS price'))
->orderBy('price')
->paginate(9);
順便說一句,如果您的折扣是一個常數(shù)值,我認為您將得到相同的結(jié)果來按sell_price列而不是price變異值排序,所以請嘗試orderBy('sell_price')代替sortBy('price'):
Product::with(['firstImage', 'category'])
->orderBy('sell_price')
->paginate(9);
Laravel 文檔:https ://laravel.com/docs/master/queries#ordering-grouping-limit-and-offset

TA貢獻1784條經(jīng)驗 獲得超7個贊
您必須使用paginate(9)afterorderBy()函數(shù)。所以你必須像這樣編輯第二個代碼:
private function search()
{
return Product::with(['firstImage', 'category'])
->orderBy('price')->paginate(9);
}
- 2 回答
- 0 關注
- 126 瀏覽
添加回答
舉報