找不到覆盖资源控制器方法路由

Override resource controller method route not found

我想为带有两个参数的节目声明一个获取路由。我有一个这样的资源控制器:

Route::resource('posts', 'PostsController', ['except' => ['edit', 'delete']]);

如果可能的话,我不想更改那一行,所以我在上面添加了:

Route::get('posts/{id}/{userId}', 'PostsController@show');
Route::resource('posts', 'PostsController', ['except' => ['edit', 'delete']]);

但我仍然得到:

Error : "X/posts/1/1" route not found.

其他测试通过。 我还尝试将 route:get 放在下面 here 或在例外情况下添加显示。

这样试试

Route::get('/posts', 'PostsController@show');

使用url作为

X/posts?id=1&userId=11

看来我的代码是正确的,问题出在 URi 的某处,正确的是这个:

$this->get('/X/posts/' . $post['id'] . '/'. $post['userId'], $this->headers($this->user))

更改顺序并尝试:

Route::resource('posts', 'PostsController', ['except' => ['edit', 'delete']]);
Route::get('posts/{id}/{userId}', 'PostsController@show');