如何将路径参数转换为查询Lumen路径中的参数

时间:2016-01-08 14:24:57

标签: lumen

我正在使用Lumen构建一个REST api并遇到了我确实解决的问题,但也许有更优雅的方式。

我有两条路线:

$app->get('profile/{profileId}', \App\Http\Controller\ProfileController::class . '@show');

$app->get('post', \App\Http\Controller\PostController::class . '@index');

个人资料可以有很多帖子,所以我想建立一个像这样的新路线

$app->get('profile/{profileId}/post', \App\Http\Controller\PostController::class . '@index');

获取个人资料的帖子。 但我不想将{profileId}作为路由参数传递给帖子控制器的索引操作,而是作为查询参数传递。

为了解决这个问题,我改变了路线

$app->get('profile/{profileId}/post', function ($profileId) use ($app) {
    $controller = $app->make(\App\Http\Controller\PostController::class);

    $request = $controller->getRequest();
    $request->query->add([
        'profileId' => $profileId,
    ]);

    return $controller->index($request);
});

有人做同样的事情并且有更好,更方便的方法吗?

我知道,例如我可以使用dingo包从一个控制器到另一个控制器进行内部请求,但我现在不能使用它。

0 个答案:

没有答案