替换调度

时间:2015-08-11 07:40:19

标签: php laravel routes laravel-5

使用RESTful资源控制器可以让我这样做:

$request = Request::create(route('api.v1.booking.show'), 'GET');

解码后生成的URL为:

http://example.app/api/v1/booking/{booking}

我知道我可以发出GET请求并解析参数调用

Route::get($request, function($booking) {
    return $some_id;
});

但在我的情况下,我想使用调度方法转发请求:

return Route::dispatch($request);

我无法弄清楚在调用dispatch方法时如何解析参数,因为它不接受Closure,就像get方法那样。

除了使用PHP str_replace之外,是否有Laravel方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

要为路由的 {booking} 参数设置值,您需要传递一组路由参数作为 route()的第二个参数:

$request = Request::create(
  route('api.v1.booking.show', ['booking' => $bookingId]),
 'GET'
);