首页 > 解决方案 > 类型错误:函数 createRoute() 的参数太少,传递了 0,而 RoutesController 中预期正好 3

问题描述

我正在开发Laravel5.6,

我正在创建一个函数,该函数接收($name_route, $description_route, $photo_route)我想插入到表 Route 上的三个参数,但是我遇到了以下无法解释的错误:

"Type error: Too few arguments to function App\\Http\\Controllers\\RoutesController::createRoute(), 0 passed and exactly 3 expected in RoutesController.php (64)"

如果我传递这三个变量,我做错了什么?我正在测试使用Swagger.

这是我在路由文件中的设置方式(routes.php)

 /** ***********************************************************
 *  Logged user can create a route
 * ************************************************************
 * @SWG\Post(
 *      tags={"Routes"},
 *      path="/api/v1/routes/route/create",
 *      summary="Logged user can create a route",
 *      @SWG\Parameter(ref="#/parameters/Accept"),
 *      @SWG\Parameter(ref="#/parameters/apikey"),
 *      @SWG\Parameter(ref="#/parameters/Language"),
 *      @SWG\Parameter(ref="#/parameters/Authorization"),
 *      @SWG\Parameter(name="name", in="path", type="string"),
 *      @SWG\Parameter(name="description", in="path", type="string"),
 *      @SWG\Parameter(name="photo", in="path", type="string"),
 *      @SWG\Response(response=HTTP_CODE_200_OK, description="Routes", 
        @SWG\Schema(ref="#/definitions/RouteDetail")),
 * )
 */
Route::post('/route/create', 'RoutesController@createRoute')->middleware('auth:api');

我的控制器:

 /**
 * @param $name_route
 * @param $description_route
 * @param $photo_route
 */
public function createRoute($name_route, $description_route, $photo_route)
{
    $route = new Route();

    $route->user_id = $this->input($this->user()->id);
    $route->name = $this->input($name_route);
    $route->description = $this->input($description_route);
    $route->photo = $this->input($photo_route);

    $route->save();
}

标签: laravellaravel-5argumentsswagger

解决方案


推荐阅读