【问题标题】:How to pass optional ID to Laravel Controller from Route?如何将可选 ID 从 Route 传递给 Laravel 控制器?
【发布时间】:2020-08-09 04:10:49
【问题描述】:

我想从 Routes 向我的控制器传递一个 ID:

Route::get('user/{id?}', function ($id= null) {
    return $id;
});

但是,我不确定将控制器名称和功能放在哪里?

MyController@get

Laravel 的文档和其他问题似乎与此问题无关。

我在这里错过了什么?

【问题讨论】:

    标签: laravel laravel-5 laravel-routing


    【解决方案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 的宝贵意见
        猜你喜欢
        • 1970-01-01
        • 2018-05-31
        • 2021-09-27
        • 2014-05-18
        • 1970-01-01
        • 1970-01-01
        • 2013-06-02
        • 1970-01-01
        • 2019-03-06
        相关资源
        最近更新 更多