Laravel - 如何不在控制器中传递未使用的参数
Posted
技术标签:
【中文标题】Laravel - 如何不在控制器中传递未使用的参数【英文标题】:Laravel - How to not pass unused parameter in controller 【发布时间】:2021-11-21 09:20:24 【问题描述】:例如,我有一条路线-
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 参数,但我希望路由具有用户 ID 作为参数,以便在前端清晰。 我找到了一个使用中间件与 forgetParameter() 方法的解决方案,但我不想添加新的中间件或只为这条路线声明它。
我可以将未使用的参数留在我的函数中,一切都会正常工作,但我很好奇这种情况是否有一些优雅的解决方案。
【问题讨论】:
【参考方案1】:我认为您可以输入 _
而不是传递参数,但我可能错了。
【讨论】:
【参考方案2】:public function getCompanies(Company $company, ?User $user = null)
return response()->json(['companies' => $company->all()]);
将 $user 传递到最后一个位置并给它一个默认值
【讨论】:
以上是关于Laravel - 如何不在控制器中传递未使用的参数的主要内容,如果未能解决你的问题,请参考以下文章
如何在控制器传递变量(laravel)中使用刀片进行 foreach
如何在视图控制器之间传递数据而不在 ios 中使用 segue?