【问题标题】:Making Routes in Laravel from URL从 URL 在 Laravel 中创建路由
【发布时间】:2020-11-10 15:08:10
【问题描述】:

如果我们的 URL 是 http://127.0.0.1:8000/student/submit-details/1234,那么它的 Route 将是:

Route::get('student/submit-details/{id}',
'studentController@submitDetails')->name('submitDetails');

如果 URL 跟随,路由会是什么?

http://127.0.0.1:8000/student/submit-details?code=1234

我正在使用以下路线,但它没有选择它并且不起作用。有谁知道它的路线是什么?我浏览了文档并没有找到任何帮助。

Route::get('student/submit-details?code={id}', 'MyController@submitDetails');

【问题讨论】:

  • 尝试接受任何对您有帮助的答案

标签: laravel laravel-5 routes


【解决方案1】:

如果你想在 Laravel 中使用GET 方法传递数据:

Route::get('student/submit-details', 'studentController@submitBankDetails')->name('submitBankDetails');

它会给你这样的输出:

http://127.0.0.1:8000/student/submit-details?code=1234

如果你有多个参数,它会喜欢:

http://127.0.0.1:8000/student/submit-details?code=1234&code2=5678

您可以像这样从控制器访问 参数

public function edit(Request $request){
   $code = $request->input('code');
   dd($code); // 1234
}

看看$_GET$_REQUEST 超全局变量。

【讨论】:

    【解决方案2】:

    你必须使用get method

    Route::get('student/submit-details', 'studentController@submitBankDetails')->name('submitBankDetails');
    

    【讨论】:

      【解决方案3】:

      如果你想要路线

      http://127.0.0.1:8000/student/submit-details?code=1234
      

      路线路线将是

      Route::get('student/submit-details', 'studentController@submitBankDetails')->name('submitBankDetails');
      

      及用法

      route('submitBankDetails', ['code' => 1234])
      

      【讨论】:

        【解决方案4】:

        试试这个

        http://127.0.0.1:8000/student/submit-details?code=1234

        Route::get('student/submit-details', 'studentController@submitBankDetails')->name('submitBankDetails');
        

        【讨论】:

        • 如果对您有帮助,请将此答案标记为已验证,谢谢@Knowledge Seeker
        【解决方案5】:

        您的路线应如下所示:

        Route::get('student/submit-details', 'studentController@submitBankDetails')->name('submitBankDetails');
        
        http://127.0.0.1:8000/student/submit-details?code=1234
        

        在上面的URL字符串中,问号后面是查询参数,并在控制器中获取查询参数的值你应该使用$_GET:

        $_GET['code']
        

        【讨论】:

        • 那您可以标记为答案吗?然后我也得到了帮助:D
        【解决方案6】:

        路由的占位符参数只为路由参数指定,而是为查询参数指定。 Route 应该只是

        Route::get('student/submit-details', 'MyController@submitDetails');
        

        您可以通过Request instance 访问控制器中的值

        public function submitDetails(Request $request) {
           dd($request->code);
        }
        

        【讨论】:

          猜你喜欢
          • 2014-06-09
          • 2020-07-17
          • 1970-01-01
          • 1970-01-01
          • 2016-03-10
          • 2013-09-05
          • 1970-01-01
          • 1970-01-01
          • 2020-08-12
          相关资源
          最近更新 更多