使用 -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/

10-11 13:44