我想获取所有用户数据并按升序排序,然后选择所需的列
$drivers = Driver::all()
->select('id','first_name','last_name','phone_number','registration_id')
->get();
现在我得到了所有数据
谢谢
答案 0 :(得分:2)
在这种情况下,请移除all()
并添加orderBy()
:
$drivers = Driver::select('id','first_name','last_name','phone_number','registration_id')
->orderBy('the-order-column', 'asc or desc')
->get();
方法all()
和get()
执行相同的操作,但您无法使用all()
修改查询(例如添加orderBy()
)。
Laravels关于orderBy()
的文档:https://laravel.com/docs/5.3/queries#ordering-grouping-limit-and-offset
答案 1 :(得分:1)
要对结果进行排序,只需使用OrderBy。
例如,如果要按first_name排序,请使用:
$drivers = Driver::select('id','first_name','last_name','phone_number','registration_id')
->orderBy('first_name', 'asc')
->get();
如果你想降序,请用'desc'改变'asc'。
如果你不想要一切,请不要使用All()
。