我是Laravel的新手,我只是想按照名字對這張表進行排序,但我並不確定從哪裏開始。如何按Laravel中的FirstName對錶格進行排序?
下面是控制器,它只是在桌子上呈現數據。
$resultArray = object_to_array($result);
return view('home', [
'resultArray' => $resultArray
]);
我是Laravel的新手,我只是想按照名字對這張表進行排序,但我並不確定從哪裏開始。如何按Laravel中的FirstName對錶格進行排序?
下面是控制器,它只是在桌子上呈現數據。
$resultArray = object_to_array($result);
return view('home', [
'resultArray' => $resultArray
]);
試圖解決你在哪裏得到的結果數組名稱。 意味着如果您從數據庫中獲取它,然後按查詢中的名稱對結果進行排序。
由於您可能會對數據進行分頁,因此您並不想在前端進行分類,否則您只需將前50個結果中的結果排序爲按字母順序排序的訂單。
相反,你會做這樣的事情
$users = User::orderBy('firstName')->paginate(50)
然後傳遞到用戶視圖。
目前,它看起來像你將結果數據轉換成一個數組,這是不是真的必要,因爲laravel返回一個集合對象,它具有一些很好的功能,如排序。
編輯:
如果你只是想在路上數據進行排序其目前在你的例子提出,最好的辦法是用usort。這沒有laravel集合的優點,但仍然允許您按照您的要求對數組進行排序。
如果您擁有的數據:
$items = [
['name' => 'barry'],
['name' => 'alan']
];
usort($items, function ($a, $b) { return $a['name'] > $b['name'];});
會重新排序陣列是
$items = [
['name' => 'alan'],
['name' => 'barry']
];
它是按引用傳遞的,所以原本將被修改。
我會建議看看laravel集合類,它提供了一個更好的接口來處理這種數據。
你爲什麼把50放在括號內? – progx
@progx這是每頁的項目數量。你可以選擇任何數字。 – ceejayoz
@ceejayoz我剛剛上傳了一張新圖片,表示呈現數據的數組以及最終呈現數據的控制器中的代碼。你可以看看它,讓我知道我可以如何排序控制器中的FirstName數據?非常感謝 – progx