【问题标题】:Laravel filter by URL with formLaravel 按 URL 过滤表单
【发布时间】:2020-08-16 07:21:37
【问题描述】:

我在 Laravel 中有点新,我使用 Laravel 6。我需要实现过滤器,我有 7 个参数的 POST 形式。提交后我想根据过滤器过滤数据并生成相应的URL,例如.../public/en/orders/param1/param2/param3.../param7

我想通过 URL 来做,因为你可以发送链接,第二方会看到相同的内容。 我最大的问题是我找不到如何将数据从表单转换为 URL 的方法。

我什至不知道是否需要POST,我认为GET就足够了。

谢谢大家。

【问题讨论】:

  • 为什么使用查询字符串而不是url参数?
  • 我对 .../public/en/orders/?param1={value1}&param2={value2} 没有任何问题,但我也不知道如何创建

标签: laravel forms url search filter


【解决方案1】:

如果你使用查询字符串,在你的路由文件中你可以像这样创建一个新的路由

Route::get('/orders/', 'yourController@action');

并在您的控制器中使用 $request 变量获取所有查询字符串:

public function action (Request $request){
     $param1 = $request->get('param1');
     .....
}

您可以在控制器中通过 dd 函数查看和测试所有参数:

dd($request->all());

【讨论】:

  • 谢谢,但我有一个问题,也许它很愚蠢,但我完全迷路了。我会提交表格,我会像你写的那样使用 Route。我将在控制器中制作东西,然后返回,我是否会有类似 ../public/en/orders/?param1={value1}&param2={value2} 的 URL?
  • 如果在控制器结束时您返回到发送表单的页面,是的,该 url 包含所有查询字符串。
  • 好的,谢谢,它似乎正在工作,但我必须在表单中使用 GET。现在我需要摆脱参数令牌并提交。
  • csrt 令牌...我认为它可以从 GET 表单中删除
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多