如何在Laravel中处理动态URL

时间:2018-10-15 11:54:07

标签: laravel url dynamic

我的应用程序中有一个名为“作业”的页面,其中将显示所有作业。 我在同一页面上有搜索作业输入字段 用户在输入字段中搜索工作时,会将其重定向到“工作?keyword = abc” 而且我还有一个工作过滤器部分,用户可以在其中按“位置,contract_types”过滤工作。

我已经使用某些javascript创建了表单,其中用户填写了一些仅通过表单提交的字段。

if user searches a job by keyword then url will be like "jobs?keyword=abc".
if user filter jobs by location then url be like "jobs?location=abc".
if user filter jobs by contract types then url be like "jobs?contract_type=abc".
if user filter jobs by keyword and contract types then url be like "jobs?keyword=abc&contract_type=abc".

每次用户提交表单网址都会更改。

所以我的问题是如何在路由上处理动态网址

目前我在这条路线上 路线:: get('jobs','todocontroller @ jobs');

还有我的控制器todocontroller.php

public function jobs()
    {
        //some code here
    }

在此先感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以检索使用request()->all();发送的所有参数

这应该放在控制器的jobs函数中。

答案 1 :(得分:0)

Request就是这样做的

public function jobs(Request $request)
{
     $request->all(); // this is where all the query string, body or others param contains in it..
}

示例

if user searches a job by keyword then url will be like "jobs?keyword=abc".

然后request->keyword返回abc

if user filter jobs by keyword and contract types then url be like "jobs?keyword=abc&contract_type=abc".

然后request->keyword返回abc,request-> contract_type返回abc

使用路径

/url/location/{param}

在控制器中

public function jobs(Request $request, $param)
{
     $request->all(); // this is where all the query string, body or others param contains in it..
     echo $param; //display param
}