Laravel 5 route :: resource获取三个参数

时间:2015-09-16 10:10:07

标签: laravel routes laravel-5 laravel-routing

大家好,我试图获得3个参数时遇到路线问题

LogicException in RouteCompiler.php line 102:
Route pattern "/api/comments/{commentableType}/{commentableId}/{{commentableId}}" cannot reference variable name "commentableId" more than once.

我的路线是:

Route::resource('api/comments/{commentableType}/{commentableId}', 'CommentController');

我的服务:

public function findById($class, $classId, $id, ApiRequest $request = null);

我的服务实施:

public function findById($class, $classId, $id, ApiRequest $request = null)
    {
         return  Comment::where('user_id', \Auth::user()->id)
            ->where('commentable_type', $class)
            ->where('commentable_id', $classId)
            ->findOrFail($id);
    }

我的控制器:

public function show($class, $classId, $id)
    {
        return $this->commentService->findById($class, $classId, $id, new ApiRequest());
    }

1 个答案:

答案 0 :(得分:0)

您的路线仅指定2个参数。但是在您的控制器上,您尝试使用3个参数。

Route::resource('api/comments/{commentableType}/{commentableId}/{id}', 'CommentController');