从URL在Laravel中建立路线

时间:2020-07-21 09:03:55

标签: laravel laravel-5 routes

如果我们的URL为http://127.0.0.1:8000/student/submit-details/1234,则其路由为:

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');

6 个答案:

答案 0 :(得分:2)

您的路线应如下所示:

Route::get('student/submit-details', 'studentController@submitBankDetails')->name('submitBankDetails');
http://127.0.0.1:8000/student/submit-details?code=1234
在问号是查询参数并在控制器中获取查询参数的值后,在上面的URL字符串中

您应使用$ _GET:

$_GET['code']

答案 1 :(得分:1)

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

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

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

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

答案 2 :(得分:1)

尝试一下

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

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

答案 3 :(得分:1)

您必须使用get method

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

答案 4 :(得分: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超全局变量。

答案 5 :(得分:0)

如果您要路线

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

路线将为

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

和用法

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