使用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的选择。 –