28

使用 laravel,我正在表单上创建一个选择框。我一直在使用助手创建选择框,一切正常。

我从数据库中检索选择框的数据并使用以下内容检索数据:

$data = model::lists('name','id')

再次一切正常,这将返回预期的数组

但我的问题是我似乎无法对这个列表进行排序——我尝试添加 orderBy() 但没有任何乐趣。

除了使用原生 php 函数之外,还有 laravel 方法对列表进行排序吗?

4

3 回答 3

68

你可以放任何你想要的,然后列出来。我是说:

model::orderBy('orderByColumn')->lists('name', 'id');

只要lists是链中的最后一个方法,其他方法就可以了。


从 Laravel 5.3 版 lists开始将被弃用,请pluck改用:

model::orderBy('orderByColumn')->pluck('name', 'id');
于 2013-07-12T08:58:14.147 回答
4

你可以试试:

$data = model::select('name','id')->orderBy('name');

如果这不起作用,->get()请在最后扔一个:

$data = model::select('name','id')->orderBy('name')->get();
于 2013-07-12T05:50:02.463 回答
0

当我

dd(YourModel::pluck('name', 'id'));

我看到它是 Collection Class 所以我找到了 collection laravel 然后我找到了方法 sortKeys() 所以我这样做了:

YourModel::pluck('name', 'id')->sortKeys();
于 2018-11-03T16:49:06.883 回答