获取通用父类中的绑定路由模型实例

时间:2016-08-12 00:33:36

标签: php laravel laravel-5.1

我正在使用Laravel 5.1的route model binding来推断/实例化路线中的正确模型实例。

我不想为每个资源重写show()方法,而宁愿在通用父类中调用父show()方法。问题是,我不知道如何允许我的父类的show()方法推断出正确的模型实例,所以我不得不在每个子资源上创建一个show()并指定模型(如下所示,User $user)。

如何从RouteServiceProviderApp\User中的绑定中获取控制器中的绑定模型?并将其传递给父show()方法?

路线:

// Passing in id 1 for {user}
$router->get('/users/{user}', 'Resources\Users@show');

RouteServiceProvider.php:

public function boot(Router $router)
{
    parent::boot($router);

    $router->model('user', 'App\User');
}

UsersController.php:我目前的工作方式

class User extends ResourceController
{

    public function show(Request $request, User $user)
    {
        // Returns user of ID 1 as expected
        return $user;
    }

ResourceController.php:我想怎么做

class ResourceController extends Controller
{
    public function show(Request $request, Model $model)
    {
        // Infer "Users" model here and returns User with ID 1
        return $model;
    }

0 个答案:

没有答案