Jul*_*ael 0 php binding laravel eloquent
我试图开发一个应用程序,我想使用路由绑定,但出了点问题,我不知道是什么。Plz,看看下面的代码,帮我看看哪里出了问题。
路线
| | PATCH | api/v1/filial/{filial} | | Genesis\Base\Filial\Controllers\FilialController@update | auth:api |
Run Code Online (Sandbox Code Playgroud)
模型
class Filial extends Model{
/**
* @var string
*/
protected $table = "filiais"; ...
Run Code Online (Sandbox Code Playgroud)
控制器
class FilialController extends BaseFormController{...
public function update(FilialRequest $request, Filial $filial){
dd($filial);
}...
Run Code Online (Sandbox Code Playgroud)
然后输出是一个空模型。我不知道这是什么错误,参数的,模型的,Uri 所有这些都匹配。我从这个项目开始就使用 Laravel 5.6。
确保您已正确设置所有内容,kernel.php您应该拥有:
protected $routeMiddleware = [
...
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
...
];
Run Code Online (Sandbox Code Playgroud)
您还需要确保您的路由中有绑定中间件:
Route::group(['middleware' => ['bindings'], function() {
// routes
}
Run Code Online (Sandbox Code Playgroud)
如果这仍然不起作用,我会选择查看显式路由绑定:
要注册显式绑定,请使用路由器的模型方法为给定参数指定类。您应该在 RouteServiceProvider 类的 boot 方法中定义显式模型绑定:
public function boot()
{
parent::boot();
Route::model('filial', App\Filial::class);
}
Run Code Online (Sandbox Code Playgroud)