如何使用不同的表单提交发送当前请求参数?使用 Laravel 和 Blade

问题描述

我有几个表单和几个带参数的网址,所以我的网址看起来像:

myexample.com/users

myexample.com/users?age=10

myexample.com/users?age=10&city=london&hobbies=fishing&eyes=blue&pets=true

添加一个搜索名称表单,所以我得到了

myexample.com/users?name=john

如何将其余参数附加到我刚刚提出的请求中?不使用会话。

我尝试在表单中使用隐藏输入,但由于其余参数并不总是相同的,我认为如果不写一长串隐藏输入,我就无法做到这一点。

还有别的方法吗?

解决方法

请求对象有一个指向查询字符串处理程序的查询属性。

所以我想你的网址是这样的

myexample.com/users?name=john

$request->query->add(['surname' => 'doe']);

dd($request->query());

输出应该是

array:2 [▼
  "name" => "john"
  "surname" => "doe"
]
,

在您的控制器中添加 $users->appends($request->all());

示例:

public function showUser($request)
    {
        $users = User::whereIn('role',['Super','Admin'])->orderBy('id','DESC');

        if (!empty($request->qu)) {
            $users = $users->where('email','LIKE','%' . $request->qu . '%');
        }

        $users = $users->paginate(5,['*'],'users');
        $users->appends($request->all()); //This is what ur looking for :)

        return $users;
    }