我们如何使用具有多个参数的laravel URL?是否需要将每个参数都指定为方法参数?我们不能通过Request访问它们吗?

问题描述 投票:-2回答:1

目前,我正在尝试通过这种方式使用具有多个参数的URL。例如,我将使用以下模式在URL中传递员工ID,组ID和员工的当前状态。mydomain.com/en/employee/benefit-status/1-1-enroll

我定义的路线如下:

Route::get('{lang}/employee/benefit-status/{slug}', 'EmployeeBenefitController@create');

在我的控制器方法中,我要分别访问参数。```create($ lang,$ slug)````

此路线运行正常。当我尝试通过Request对象访问参数时:

create(Request $request)

路由也可以正常工作,但是在这种情况下,当我尝试导航到任何其他页面时。

例如如果我单击带有此链接的菜单项“ mydomain.com/en/candidates

URL弄乱了,看起来像这样:

http://hrm.test:8080/GET%20/en/employee/benefit-status/1_1_enroll%20HTTP/1.1Accept:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding:%20%20%20%20%20%20%20%20%20%20%20gzip,%20deflateAccept-Language:%20%20%20%20%20%20%20%20%20%20%20en-US,en;q=0.9Connection:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20keep-aliveContent-Length:%20%20%20%20%20%20%20%20%20%20%20%20Content-Type:%20%20%20%20%20%20%20%20%20%20%20%20%20%20Cookie:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20laravel_token=eyJpdiI6IktcL0tjd3REZnVoXC82c0lsTUZRUXp5Zz09IiwidmFsdWUiOiJyUlRBTU1ueUt5WHl0TUdSYURvMDRTaDFFN2ZwQ1RzTEl5Q2VQVjA5ODc3WEp3WkZBa2pudHkwOERjQzdsdFI5Y3k3c1hqMjMyOXJNeXdLK1VmZXVZSnhIYzF2MDM4ZDVld1JtMlBjU01XWDEzY3RyclBTcHFEQ0FIMmNpYWkrT1dIcDFLTHVTVFpxU3h3TE9QVXlCd1hCMXUyUzRVWDVHM2ZiNVFiQ1JrTmJXM292ZEVrVjBHVmZtaUZcLzV1U1lhMWdySk1pTXhwblcyY0Jxck1lK2lFOXFXb0plc2pCSTlLR083eGlPWXptN3hDMDEwZFlwbHF2clZ6dDQ4XC96ZzkiLCJtYWMiOiIyNzgxOGU4MGM1YzM1YjI1MTFkNzY1N2ZhZTg3Y2E4MDlmZDQwNTEyMjAwMjdjMTQxNjM5YzhjMDMwMzY1Yjk5In0%3D;%20XSRF-TOKEN=eyJpdiI6InNVRkUzeXB5ZVJaQTM5WmJxNmR1R2c9PSIsInZhbHVlIjoiN1dONmVuRU1QRytaQmR4bzZSR1dDVXJKRVptVTdzb0JwajNzMkNFRU1tVUJJc3EwMmpzMms4S3BoclFqbkJ1MCIsIm1hYyI6ImVmZDIxNDA1OGVlY2FmZDkxODg5ZTRkMzE0OWM2NTJlZjYyNjFhNDBmOTk2NzU1M2I0NWZlODM5OGZiMDcyNjgifQ%3D%3D;%20hrm_session=eyJpdiI6IjNjS2Vja1ZDVVpKUlU4YkxYdlwvbzNnPT0iLCJ2YWx1ZSI6IndCZ0VPZk9OXC9cL01SUGo5VEMwZVJEM0R5VnI0SDBLV1lVWldJemZkODVRRG1yTXpxeXBSdzc4ZUcyMzJ1VnlabiIsIm1hYyI6ImY1NWQ3MGFkYzZjNTljZjVmYzJhMWU5MjRkZjJiN2NhODk0ZTgxNjY3YWZmMjIzYzAzNDFlYWYyNzg0YmI2NjUifQ%3D%3DHost:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20hrm.test:8080Upgrade-Insecure-Requests:%201User-Agent:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/79.0.3945.117%20Safari/537.36Cookie:%20laravel_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEsImNzcmYiOiJvSkwzTkVmUEtQZUVWNlhnWVZ4UnNIZm13U2wwcGFjVkNrb0ZQNGtDIiwiZXhwaXJ5IjoxNTc5MzYxMzA2fQ.x1ibu7gHOIMgD73fXs90EdtHnLMb5J4cbgg3uDVYc8s;%20XSRF-TOKEN=oJL3NEfPKPeEV6XgYVxRsHfmwSl0pacVCkoFP4kC;%20hrm_session=MxkRkbJhiLlByPZncb6JqL87ATK0MH8mDLHhKIGg/candidates
php laravel routing url-routing multiparameter
1个回答
0
投票

如果您这样写路线,那就更好了>>

Route::get('{lang}/employee/benefit-status/{employeeID}/{GoupPlanID}/{status}', 'EmployeeBenefitController@create');

URL混乱了,可能是因为您没有通过提供错误的数据以正确的方式使用路由。

我想在发布请求中这样做,因为我想是要插入此数据。

© www.soinside.com 2019 - 2024. All rights reserved.