2016-08-26 83 views
0

我Laravel明白可以使用Route::resource路线的方法来处理事情像/user/1https://laravel.com/docs/5.0/controllers#restful-resource-controllers是否可以“链接”Laravel RESTful路由?

我想知道是如何创建“链”的方法,所以我不会重复代码的最佳方式。

例如说我有/team/1/user/1,我可以通过这个TeamUsers控制器在“show”方法中从数据库中抓取团队和用户。

现在,如果我想创建/team/1/group/1路由到TeamGroups控制器,我会重复代码以再次从数据库中抓取团队。

什么是最好的方式反向链接,只写一个检索团队代码?

干杯

回答

1

Laravel实际上有route model binding一个概念,它负责为你处理。所以,你的代码最终会看起来像:

Route::get('team/{team}/user/{user}', function (App\Team $team, App\User $user) { 
    $team_name = $team->name; 
    $user_name = $user->name; 
}); 

然后同为组:

Route::get('team/{team}/group/{group}', function (App\Team $team, App\Group $group) { 
    $team_name = $team->name; 
    $group_name = $group->name; 
});