例如,我有一条路由-
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到最后一个位置,并给它一个默认值
我认为你可以用_
代替传递参数,但我可能错了。