首页 > 解决方案 > laravel 无法显示搜索结果

问题描述

我在 laravel 中使用搜索功能没有什么问题,一切正常。但是当我搜索一些 buku 它根本不显示。

这是我的搜索功能

public function search(Request $request){
    $bukudn = bukudn::when($request->keyword, function($query) use ($request) {
        $query = bukudn::where('namaBuku', 'LIKE',"%'($request->keyword)'%")
                                ->orWhere('penulis', 'LIKE', "%'.($request->keyword)'%")
                                ->orWhere('namaPenerbit', 'LIKE', "%'.($request->keyword)'%")
                                ->orWhere('tahunTerbit', 'LIKE', "%'.($request->keyword)'%")
                                ->orWhere('kotaPenerbit', 'LIKE', "%'.($request->keyword)'%")
                                ->orWhere('mataPelajaran', 'LIKE', "%'.($request->keyword)'%")
                                ->orWhere('bahasa', 'LIKE', "%'.($request->keyword)'%")
                                ->orWhere('tingkatPendidikan', 'LIKE', "%'.($request->keyword)'%")
                                ->orWhere('jurusan', 'LIKE', "%'.($request->keyword)'%")
                                ->orWhere('edisi', 'LIKE', "%'.($request->keyword)'%")
                                ->orWhere('rakBuku', 'LIKE', "%'.($request->keyword)'%")
                                ->orWhere('jumlahBuku', 'LIKE', "%'.($request->keyword)'%");

    })->paginate();



    $bukudn->appends($request->only('keyword'));

    return view('daftarbukuDN.search', compact('bukudns'));
}

这是我的 search.blade.php

<form action="{{ url()->current() }}" >
        <div class="input-group">
        <br>
            <input type="text" class="form-control" name="keyword"
                placeholder="Search users"> <span class="input-group-btn">
                <div class="col-md-10">
                <button type="submit" class="btn btn-primary">
                Search
                </button>
                </div>
            </span>
        </div>
    </form>
    <div class="table-responsive">
    <table class="table table-bordered">
            <thead>
                </div><br>
                <tr>
                <th>Nama Buku</th>
                <th>Penulis</th>
                <th>Nama Penerbit</th>
                <th>Tahun Terbit</th>
                <th>Mata Pelajaran</th>
                <th>Bahasa</th>
                <th>Tingkat Pendidikan</th>
                <th>Edisi Buku</th>
                <th >Action</th>
            </tr>
            </thead>
            <tbody>
             @if(isset ($bukudns))
                @foreach($bukudns as $bukudn)
              <tr>
                <td>{{$bukudn->namaBuku}} </td>
                <td>{{$bukudn->penulis}} </td>
                <td>{{$bukudn->namaPenerbit}} </td>
                <td>{{$bukudn->tahunTerbit}} </td>
                <td>{{$bukudn->mataPelajaran}} </td>
                <td>{{$bukudn->bahasa}} </td>
                <td>{{$bukudn->tingkatPendidikan}} </td>
                <td>{{$bukudn->edisi}} </td>
                <td>
                    <a href="{{action('bukudnController@show', $bukudn['id'])}}" class="btn btn-info">Lihat</a>
                </td>
                <td><a href="{{action('bukudnController@edit', $bukudn['id'])}}" class="btn btn-warning">Ubah</a></td>
                <td>
                    <form action="{{action('bukudnController@destroy', $bukudn['id'])}}" method="post">
                    @csrf
                    <input name="_method" type="hidden" value="DELETE">
                    <button class="btn btn-danger" type="submit">Hapus</button>
                    </form>
                </td>
              </tr>
                  @endforeach
              @endif
              </tbody>
            </tbody>
            </table>
            </div>

问题是我的程序没有显示任何搜索结果,也许这个屏幕截图会解释我的问题在此处输入图像描述

标签: phplaravel

解决方案


如果这是您的实际代码,那么您只是打错了:

$bukudn->appends($request->only('keyword'));

return view('daftarbukuDN.search', compact('bukudns'));

要么将紧凑型更改为,compact('bukudn')要么将变量名更改为$bukudns


推荐阅读