使用 -mcr (php artisan make:model Institution -mrc) 创建模型后, Controller 中的 show 函数被构建为:
/**
* Display the specified resource.
*
* @param \App\Organization\Institution $institution
* @return \Illuminate\Http\Response
*/
public function show(Institution $institution)
{
return view('institutions.show', ['institution' => $institution]);
}
返回 View ... 是我插入的。我期待它用参数中发送了 id 的对象填充它。
/institutions/1
但是,在使用 dd($institution) 之后,我确认它具有 ID,而不是对象。
这个变量不应该返回对象吗?
最佳答案
这称为 Route Model Binding 。您的路线需要类似于:
Route::get('institutions/{institution}', 'InstitutionController@show');
然后根据您的 Controller
public function show(Institution $institution)
{
return view('institutions.show', compact($institution))
}
您可以阅读有关此 here 的更多信息。
我想你的路线有一个名为
{id}
而不是 {institution}
的参数。关于php - Laravel Controller 类型提示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51748388/