Eloquent Route隐式绑定Laravel 5.6无效

时间:2018-05-05 12:12:13

标签: php laravel binding eloquent

我试图开发一个应用程序,我想使用路由绑定,但有些东西是错的,我不知道它是什么。 Plz,看下面的代码并帮助我解决它的错误。

路线

|        | PATCH    | api/v1/filial/{filial}                  |      | Genesis\Base\Filial\Controllers\FilialController@update                    | auth:api   |

模型

class Filial extends Model{

/**
 * @var string
 */
protected $table = "filiais"; ...

控制器

class FilialController extends BaseFormController{...
    public function update(FilialRequest $request, Filial $filial){
       dd($filial);
    }...

然后输出作为模型为空。我不知道它是什么错,参数,模型,Uri所有这些东西都匹配。我从项目开始就开始使用Laravel 5.6。

1 个答案:

答案 0 :(得分:2)

确保在kernel.php您应该拥有的内容中正确设置所有内容:

protected $routeMiddleware = [
    ...
    'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ...
];

您还需要确保路线中有绑定中间件:

Route::group(['middleware' => ['bindings'], function() {
    // routes
}

如果仍然无效,我会选择查看explicit route binding

  

要注册显式绑定,请使用路由器的模型方法   指定给定参数的类。你应该定义你的   在引导方法中显式模型绑定   RouteServiceProvider类:

public function boot()
{
    parent::boot();

    Route::model('filial', App\Filial::class);
}