Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel路由中复杂模型名称的依赖项注入_Laravel_Dependency Injection_Routes - Fatal编程技术网

Laravel路由中复杂模型名称的依赖项注入

Laravel路由中复杂模型名称的依赖项注入,laravel,dependency-injection,routes,Laravel,Dependency Injection,Routes,我使用的是Laravel 5.8,我有一个两个单词的模型,比如CurrencyNetwork,我想使用Laravel的神奇依赖注入,如下所示: Route::get('edit/{currency_networks}', ['as' => 'edit', 'uses' => 'NetworkController@edit']); 在我的控制器中,我使用: public function edit(CurrencyNetwork $network) { //some acti

我使用的是Laravel 5.8,我有一个两个单词的模型,比如CurrencyNetwork,我想使用Laravel的神奇依赖注入,如下所示:

Route::get('edit/{currency_networks}', ['as' => 'edit', 'uses' => 'NetworkController@edit']);
在我的控制器中,我使用:

public function edit(CurrencyNetwork $network)
{
    //some action goes here
}
但模型实例并没有解析,我得到了一个空模型。 有没有办法让这一切顺利进行

编辑: 我可以通过在RouteServiceProvider中注册参数来解决这个问题,如下所示:

Route::model('currency_networks', CurrencyNetwork::class);

我想知道Laravel是否有办法自己绑定模型?

您必须将方法类型提示参数名称与路由参数/段的名称匹配:

“Laravel自动解析路由或控制器操作中定义的雄辩模型,其类型提示变量名称与路由段名称匹配。”

如果希望它是
$network
,请更改路由中的参数名称:

Route::get('edit/{network}', ...);

public function edit(CurrencyNetwork $network)

谢谢。我以前不太理解这段话。
Route::get('edit/{network}', ...);

public function edit(CurrencyNetwork $network)