当前位置: 首页 > 知识库问答 >
问题:

Laravel分页链接在空输入期间不工作

江坚成
2023-03-14

我试图在我的laravel刀片视图中显示我的表中的所有数据。

public function search()
    {
       $search = request('show');
       $users = User::query();

       foreach ($search as $field=>$value) 
       {
             if($value!=NULL)
             {
                $users = $users->where($field, 'LIKE', '%'.$value.'%');
             }
        }
       if(request()->has('sort'))
       {
            $order = explode(',',request('sort'));
            $users = $users->orderBy($order[0],$order[1]);
       }
        $users = $users->SimplePaginate(15);

        return view('nabil.homepage',compact('users'));         
    }

刀片

@foreach($users as $user)
    <tr>
        @if(session()->has('show'))
            @foreach(session()->get('columns') as $column)
                @if(in_array($column,session()->get('show')))
                    <td>{{ $user->$column }}</td>
                @endif
            @endforeach
        @endif
    </tr>
@endforeach
</table>
{{ $users->appends(Illuminate\Support\Facades\Input::except('page'))->links() }}

如果我搜索某样东西,它就会工作得很好。但如果我用空白值搜索。那就不管用了。第一页没有任何问题,但后来就断了。

案例1(问题案例):

如果我在url地址中手动输入/search?show%5bbango%5d=&page=2,那么它工作得很好。

案例2:

我在搜索中输入了一些类似'123'的数据。则我的url变为/search?show%5bbango%5d=123。那样的话,一切都运转得很好。

我可能会尝试用两个输入字段(例如:name和bango)进行搜索。如果保持name字段为空,并将“123”放在bango中,则url变为/search?show%5bbango%5d=123&show%5bname%5d=

但是,如果我试着转到下一页。则url变为/search?show%5bbango%5d=123&page=2

虽然显示的结果很好,但是url突然删除了name字段。

共有1个答案

卞坚成
2023-03-14

由于您使用的是foreach,因此它需要一个数组。尝试设置

$search = request('show') ?? [];

在控制器上。

 类似资料:
  • 请求yo帮助分页链接。在我的数据库中,我有3条记录,我想每页显示一条记录。当我选择分页链接的下一个数字时,数据没有被提取。事情是当我单击分页链接的第2个数字时,echo var_dump()显示Result是空的,并且我没有获得echo$data->电子邮件的任何值。但是当我搜索时第一次能够显示单个记录,问题只是分页的下一个链接,那么可能会有什么错误呢?我不能得到一个答案,我不确定发生了什么,所以

  • 我需要让用户从控制台输入一个非零的正整数,我将在程序中用它作为产品编号。 如果我输入任何非整数值,程序会正确地进入while循环。 如果我输入0或负整数,程序会正确抛出异常(我在其他地方捕获和处理)。 当我只是按回车键(或行尾字符)时,程序似乎只是将控制台放在另一行。我希望它进入 while 循环以显示错误消息。我认为原因是将等到令牌是非行尾字符输入。 是否有另一种方法可以使用 Scanner 类

  • 我在做一个程序,没有使用Java的内置链表类;我在从头开始做。除了编写一个将节点插入链表的特定位置的方法外,我在所有方面都取得了成功。 我有一个方法将一个特定的节点设置为“当前”节点。所以,例如,我有一个链表,看起来是这样的:猫-->狗-->使-->好-->宠物,“当前”等于2;这意味着“当前”节点是“狗”。 从这里开始,假设我想在“current”的位置插入一个新节点,它的info字段为AND。

  • Frontpage分页不起作用:当点击page2/3/4/etc时,它只是重新加载首页,而不显示旧条目。我尝试了几件事情:首先,禁用所有活动插件,以确保没有冲突。第二,尝试在设置中将永久链接更改为默认 我的代码是 谢啦

  • 我尝试了多种解决方案,但都不起作用。 当我转到/page/2时,它不起作用。 我正在index.php我的主题执行自定义查询。 这是我的网站链接:我的网站主页 此页面不工作(404)-页面不工作(格式为-mywebsite/page/2/) 刚刚意识到这一页2作品-正在工作的页面(的格式-mywebsite.com/?page=2)

  • 我需要空间/Laravel权限的帮助。当我试图分配它给我错误哎呀,看起来像出了问题。 错误 Connection.php第761行中的QueryExcema:SQLSTATE[23000]:完整性约束冲突:1048列role_id不能为空(SQL:插入到(,)值(9,))