使用laravel,我在表單上創建一個選擇框。我一直在使用助手來創建選擇框,一切工作正常。laravel雄辯列表 - 對列值列表排序
我從數據庫檢索選擇框的數據,並使用以下方法來檢索數據:
$data = model::lists('name','id')
再次一切工作正常,這將返回預期的陣列
我的問題,雖然是我似乎無法排序此列表 - 我嘗試添加orderBy()但沒有喜悅。
除了使用本地php函數之外,還有一種用於排序列表的laravel方法嗎?
使用laravel,我在表單上創建一個選擇框。我一直在使用助手來創建選擇框,一切工作正常。laravel雄辯列表 - 對列值列表排序
我從數據庫檢索選擇框的數據,並使用以下方法來檢索數據:
$data = model::lists('name','id')
再次一切工作正常,這將返回預期的陣列
我的問題,雖然是我似乎無法排序此列表 - 我嘗試添加orderBy()但沒有喜悅。
除了使用本地php函數之外,還有一種用於排序列表的laravel方法嗎?
你可以把任何你想要的,然後列出它。我的意思是:
model::orderBy('orderByColumn')->lists('name', 'id');
只要lists
是鏈中的最後一個方法,其他的方法工作得很好。
從Laravel 版本5.3lists
開始將是棄用,使用pluck
代替:
model::orderBy('orderByColumn')->pluck('name', 'id');
您也可以使用PHP數組排序[PHP:Sorting arrays](http://es1.php.net/manual/en/array.sorting.php ) –
優秀 - 謝謝。我試圖在列表之後排序。我沒有意識到這些功能的順序。再次感謝 – Ray
謝謝,謝謝,謝謝@ umut-sirin。來自底特律的愛! –
你可以試試:
$data = model::select('name','id')->orderBy('name');
如果還是不行,在年底折騰了->get()
:
$data = model::select('name','id')->orderBy('name')->get();
嗨 - 我也試過這個,但努力實現該數據的目的是在html選擇助手中的對象。結果是正確的,但無法執行。列表更容易,因爲它包含我需要的確切數據 – Ray
大問題。通常需要在查詢中放置where等,以創建一個數組來填充Laravel的選擇。 –