在 Laravel 中使用资源路由时访问表单请求中的 ID

Lov*_*ock 2 php laravel-routing laravel-5

我正在开发一个多租户应用程序,需要创建一些特定于团队的 slug 验证(Laravel Spark)。

我的 API 端点路由设置如下:

Route::prefix('projects/{teamId}')->group(function () {

    Route::resource('posts', 'API\PostController');

});
Run Code Online (Sandbox Code Playgroud)

使用 Axios,我发布到以下 URL:

/projects/1/posts/5
Run Code Online (Sandbox Code Playgroud)

我正在传递帖子信息,并且有一个我需要确保每个团队都是唯一的。

在我的表单请求中,我获取了路线参数:

public function rules()
{
    $teamId = $this->route('teamId');
    $postId = $this->route('id');
}
Run Code Online (Sandbox Code Playgroud)

问题是,我可以毫无问题地获取团队 ID(注销进行测试),但我无法获取资源的 ID...有什么想法如何做到这一点吗?

我的最后一个选择是从帖子参数中获取它......

小智 5

使用请求助手来访问路由,例如:

// it may be plural posts
request()->route()->parameter('post')
Run Code Online (Sandbox Code Playgroud)