Nas*_*ash 1 php laravel laravel-5 laravel-5.1
因此,我无法终生弄清楚为什么我不能使用orderBy。我收到错误消息:
调用未定义的方法Illuminate \ Database \ Eloquent \ Collection :: orderBy()
这是我的代码:
Route::get('/teams', function(){
$page = 'Teams';
$teams = App\Team::all()->orderBy('teamFirstName')->get();
return view('teams')->with('page', $page)->with('allTeams', $teams);
});
Run Code Online (Sandbox Code Playgroud)
我已尝试删除->get();我尝试使用just Team::all。我正在使用Laravel备忘单,并且似乎遵循Model语法。我还仔细检查了它是否是数据库中正确的列名,甚至尝试仅使用ID。
如果我删除该->orderBy()查询,则工作正常,我可以得到所有团队。那我在做什么错?
这是因为all()返回的a Collection没有orderBy方法(尽管它确实具有sortBy可以使用的方法)。以下内容虽然简单一些,但应该会表现更好。
$teams = App\Team::orderBy('teamFirstName')->get();
Run Code Online (Sandbox Code Playgroud)
一旦调用all(),查询就会运行并获取结果,此后的任何排序都将由PHP完成。尽管通常最好让数据库处理排序,因此在使用orderBy()获取结果之前先使用它get()。
| 归档时间: |
|
| 查看次数: |
2191 次 |
| 最近记录: |