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

拉威尔:搜索结果搜索?page=2不显示任何内容,只显示空白页

云浩然
2023-03-14

我的分页工作正常,但是当使用搜索组件时,它只显示结果的第一页。我的页面URL没有搜索看起来像:http://localhost:8000/dictionary-management/postcode?page=2它的工作正确。

带搜索的我的第一页URL:http://localhost:8000/dictionary-管理/邮政编码/搜索和它的工作正常。

带搜索的我的第二页URL:http://localhost:8000/dictionary-管理/邮政编码/搜索?页面=2,没有显示内容,只有空白页面。

这是我的控制器搜索方法:

public function search(Request $request) {
    $constraints = [
        'postcode' => $request['postcode'],
        'address' => $request['address']
    ];

    $postcodes = $this->doSearchingQuery($constraints);
    return view('dictionary-mgmt/postcode/index', ['postcodes' => $postcodes, 'searchingVals' => $constraints]);
}

private function doSearchingQuery($constraints) {
    $query = Postcode::query();
    $fields = array_keys($constraints);
    $index = 0;
    foreach ($constraints as $constraint) {
        if ($constraint != null) {
            $query = $query->where( $fields[$index], 'like', '%'.$constraint.'%');
        }

        $index++;
    }
    return $query->Paginate(5);
}

这是我的路线:

Route::resource('dictionary-management/postcode', 'PostCodeController');
Route::post('dictionary-management/postcode/search', PosstCodeController@search')->name('postcode.search');

这是我的索引视图:

@extends('dictionary-mgmt.postcode.base')
@section('action-content')
    <!-- Main content -->
    <section class="content">
      <div class="box">
  <div class="box-header">
    <div class="row">
        <div class="col-sm-8">
          <h3 class="box-title">List kodów pocztowych</h3>
        </div>
        <div class="col-sm-4">
          <a class="btn btn-primary pull-right" href="{{ route('postcode.create') }}">Dodaj nowy kod pocztowy</a>
        </div>
    </div>
  </div>
  <!-- /.box-header -->
  <div class="box-body">
      <div class="row">
        <div class="col-sm-6"></div>
        <div class="col-sm-6"></div>
      </div>
      <form method="POST" action="{{ route('postcode.search') }}">
         {{ csrf_field() }}
          @component('layouts.search', ['title' => 'Szukaj'])
              @component('layouts.two-cols-search-row', ['items' => ['postcode', 'address'], 'title' => ['Kod','Adres'],
              'oldVals' => [isset($searchingVals) ? $searchingVals['postcode'] : '', isset($searchingVals) ? $searchingVals['address'] : '']])
              @endcomponent
          @endcomponent
      </form>
    <div id="example2_wrapper" class="dataTables_wrapper form-inline dt-bootstrap">
      <div class="row">
        <div class="col-sm-12">
          <table id="example2" class="table table-bordered table-hover dataTable" role="grid" aria-describedby="example2_info">
            <thead>
              <tr role="row">
                <th width="5%">Kod pocztowy</th>
                <th width="40%">Adres</th>
                <th width="10%">Miejscowość</th>
                <th width="10%">Województwo</th>
                <th width="10%">Powiat</th>
                <th>Akcja</th>
              </tr>
            </thead>
            <tbody>
            @foreach ($postcodes as $postcode)
                <tr role="row" class="odd">
                  <td>{{ $postcode->postcode }}</td>
                  <td>{{ $postcode->address }}</td>
                  <td>{{ $postcode->city }}</td>
                  <td>{{ $postcode->voivodeship }}</td>
                  <td>{{ $postcode->county }}</td>
                    <td>
                    <form class="row" method="POST" action="{{ route('postcode.destroy', ['id' => $postcode->id]) }}" onsubmit = "return confirm('Czy napewno usunąć?')">
                        <input type="hidden" name="_method" value="DELETE">
                        <input type="hidden" name="_token" value="{{ csrf_token() }}">
                        <a href="{{ route('postcode.edit', ['id' => $postcode->id]) }}" class="btn btn-warning col-sm-3 col-xs-5 btn-margin">
                        Edytuj
                        </a>
                        <button type="submit" class="btn btn-danger col-sm-3 col-xs-5 btn-margin">
                          Usuń
                        </button>
                    </form>
                  </td>
              </tr>
            @endforeach
            </tbody>
            <tfoot>
              <tr>
                  <th width="5%">Kod pocztowy</th>
                  <th width="40%">Adres</th>
                  <th width="10%">Miejscowość</th>
                  <th width="10%">Województwo</th>
                  <th width="10%">Powiat</th>
                  <th>Akcja</th>
              </tr>
            </tfoot>
          </table>
        </div>
      </div>
      <div class="row">
        <div class="col-sm-5">

        </div>
        <div class="col-sm-7">
          <div class="dataTables_paginate paging_simple_numbers" id="example2_paginate">
            {{ $postcodes->links() }}
          </div>
        </div>
      </div>
    </div>
  </div>
  <!-- /.box-body -->
</div>
    </section>
    <!-- /.content -->
  </div>
@endsection

这是我的搜索组件:

   <div class="row">
  @php
    $index = 0;
  @endphp
  @foreach ($items as $item)
    <div class="col-md-6">
      <div class="form-group">
          @php
            $stringFormat =  strtolower(str_replace(' ', '', $item));
          @endphp
          <label for="input<?=$stringFormat?>" class="col-sm-3 control-label">{{$title[$index]}}</label>
          <div class="col-sm-9">
            <input value="{{isset($oldVals) ? $oldVals[$index] : ''}}" type="text" class="form-control" name="<?=$stringFormat?>" id="input<?=$stringFormat?>" placeholder="{{$title[$index]}}">
          </div>
      </div>
    </div>
  @php
    $index++;
  @endphp
  @endforeach
</div>

请帮忙,我不知道我的错在哪里。。。

共有1个答案

冀萧迟
2023-03-14

试试这个

 {{ $postcodes->appends(request()->input())->links()}}

而不是{$postcodes-

 类似资料:
  • 我已经花了很多时间弄清楚为什么我的搜索在我定制的模板中不起作用。到目前为止,我已经知道了如何包含searchform。php文件在我的头,创建搜索。php文件目前是空的(因此,当我搜索某个内容时,我会被重定向到一个空白页面,我想我肯定需要search.php文件中的某些内容才能使其正常工作),我阅读了Wordpress codex的所有内容,但找不到解决方案,我找到的唯一有用信息是这个。 http

  • 我正在使用批量请求执行弹性搜索完整索引。我在索引过程中遇到了一个问题,结果是空的。由于我正在完整索引期间删除索引,因此如何处理这种情况。 我已经完成了以下步骤: 删除索引 创建索引 创建映射 批量请求 索引属性和映射: } 我有大约7.5万份文件。 谢谢,Sree。

  • 问题内容: 我在Binary Search Tree上做了一个小型的Java工作,但是当我实现将节点的递归插入树中并显示它时,我什么也没得到。我已经花了一段时间了,我不确定,但是我认为这是通过引用的问题。 这是我的代码: 我执行了一系列insertR,其根是要插入的节点,而elem是一个字符串,但是它不会打印出任何内容,就好像根本没有填充树一样。我确定我的递归插入有问题,但是我不确定在哪里,我需要

  • 代码看起来很好,但是总是bst没有值并且总是显示为空,并且root是null!!!

  • 问题内容: 如何突出显示使用php的mysql查询的搜索结果? 这是我的 [修改] 代码: 问题答案: 您可以使用preg_replace();,当它在文本中找到匹配项时,您可以在匹配词周围放置一个带有突出显示类别的div。然后,您可以向突出显示类添加背景颜色和边框,以使其突出显示 preg_replace期望3个参数; 第一个是您要寻找的 第二个是应该更改为 他应从中搜索并替换的文本字符串 例如