Laravel雄辩:所有订单结果()

我被困在一个简单的任务。 我只需要订购来自这个调用的结果

$results = Project::all(); 

Project是一个模型。 我已经试过了

 $results = Project::all()->orderBy("name"); 

但它没有工作。 从表格中获取所有数据并将其sorting是更好的方法?

你可以在查询中做到这一点。

 $results = Project::orderBy('name')->get(); 

这将以正确的顺序返回所有结果。

如果您仍然想使用all(),您仍可以使用sortBy(在集合级别)而不是orderBy(在查询级别),因为它返回对象的集合。

升序

 $results = Project::all()->sortBy("name"); 

降序

 $results = Project::all()->sortByDesc("name"); 

查看有关集合的文档以获取更多详细信息。

https://laravel.com/docs/5.1/collections

另外,为了支持前面的答案,也可以按降序desc或升序asc顺序进行sorting,通过添加作为第二个参数。

 $results = Project::orderBy('created_at', 'desc')->get(); 

希望这可以帮助。

2017更新


Laravel 5.4添加了orderByDesc()方法来查询构build器:

 $results = Project::orderByDesc('name')->get(); 

查看sortBy方法: http : sortBy