我有一个名为 Dbtable 的模型,在使用时不会注入:
public function showEditDbTableForm(Request $request, DbTable $table)
{
}
它只在我这样做时才有效:
public function showEditDbTableForm(Request $request, $id)
{
$table = DbTable::find( $id );
}
即使我将DbTable重命名为DbTble
,也会发生同样的事情P.S。:请不要对我粗鲁,因为我是Laravel框架的新手
答案 0 :(得分:2)
对于隐式路径模型绑定,您需要确保方法签名中的参数与要绑定的路由参数具有相同的名称。
Route::get('widgets/{widget}', 'WidgetsController@show');
public function show(Widget $widget)
Laravel自动解析路径或控制器操作中定义的Eloquent模型,其类型提示的变量名称与路径段名称匹配。
答案 1 :(得分:1)
在RouteServiceProvider类中添加
public function boot()
{
parent::boot();
Route::model('db-table', App\DbTable::class);
// db-table correspond your rout parameter
}
请参阅官方文档https://laravel.com/docs/5.5/routing 明确绑定部分