0
私は10種類のフィールドを持つテーブルを持っています。私はテーブルの列をクリックすることができるようにしたい、そして、ページは選択された列の順序で再読み込みされます。Laravel Dynamic Order By inクエリ
私は私のルートにこれを追加しました:
Route::get('/inventory/sort/{sortby}', ['uses' => '[email protected]']);
マイコントローラー:
public function index($sortby = null) {
$Inventory_Items = ItemDynamic::with(['Item'])
->orderBy(function ($query) use($sortby) {
if ($sortby == "quantity") {
$query->orderBy('Quantity','asc');
} else if ($sortby == 'name') {
$query->orderBy('name','asc');
} else {
$query->orderBy('id','asc');
}
})
->paginate(20);
return view('adminlte::Item.index', ['Inventory_Items' => $Inventory_Items]);
}
だから、私は/inventory/sort/quantity
にアクセスするとき、それは量によって順番になるはずです。
代わりに、strtolower()エラーが発生します。
これを達成するためのアイデアはありますか?