如何将可选 ID 从 Route 传递给 Laravel 控制器?
Posted
技术标签:
【中文标题】如何将可选 ID 从 Route 传递给 Laravel 控制器?【英文标题】:How to pass optional ID to Laravel Controller from Route? 【发布时间】:2020-08-09 04:10:49 【问题描述】:我想从 Routes 向我的控制器传递一个 ID:
Route::get('user/id?', function ($id= null)
return $id;
);
但是,我不确定将控制器名称和功能放在哪里?
MyController@get
Laravel 的文档和其他问题似乎与此问题无关。
我在这里错过了什么?
【问题讨论】:
【参考方案1】:路线
Route::get('/user/id','UserController@User');
现在您可以在 User 函数内的 AppSettings 控制器中访问此 id
控制器内部的用户函数
public function User($id)
\Log::alert($id);
【讨论】:
【参考方案2】:这对你来说很简单。你几乎完成了
Route::get('user/id?', YourControllerNameController@get);
在你的控制器中
public function get($id = null)
【讨论】:
【参考方案3】:我相信你可以这样做:
在路由/web.php中
Route::get('user/name?', 'UserController@getName');
在 UserController.php 中
public function getName(Request $Request, $name = null)
【讨论】:
是否可以通过get方法传值Request $Request
@A.ANoman 如果您将Request $Request
作为第一个参数传递,请求会自动注入到任何控制器函数中。
感谢您对 Symlink 的宝贵意见以上是关于如何将可选 ID 从 Route 传递给 Laravel 控制器?的主要内容,如果未能解决你的问题,请参考以下文章