如何将可选 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 控制器?的主要内容,如果未能解决你的问题,请参考以下文章

如何将可选视图传递给 SwiftUI 中的另一个视图?

将可选列表传递给 argparse

将可选枚举传递给 VB.NET 中的函数

python如何将可选参数或关键字参数从一个函数传递到另一个函数?

如何将可选参数传递给 C++ 中的方法?

将可选参数优化传递到查询中