Laravel -如何在控制器中不传递未使用的参数



例如,我有一条路由-

Route::get('/api/{user}/companies/{company}', [CompanyController::class, 'getCompanies'])

和此控制器中的函数

public function getCompanies(User $user, Company $company) {
$companies = $company->all();
return response()->json(['companies' => $companies]);
}

我没有在函数中使用$user实例,我不想在其中传递user $user参数,但我希望路由具有用户id作为前端清晰的参数。我找到了一个解决方案,使用中间件与forgetParameter()方法,但我不想添加新的中间件或声明它只适用于这条路由。

我可以把这个未使用的参数留在我的函数中,一切都将正常工作,但我很好奇是否有一些优雅的解决方案。

public function getCompanies(Company $company, ?User $user = null) 
{
return response()->json(['companies' => $company->all()]);
}

传递$user到最后一个位置,并给它一个默认值

我认为你可以用_代替传递参数,但我可能错了。

最新更新