无法显示laravel中的搜索结果

时间:2018-08-30 20:24:13

标签: php 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>

问题是我的程序没有显示任何搜索结果,也许此屏幕截图可以解释我的问题enter image description here

2 个答案:

答案 0 :(得分:1)

如果这是您的实际代码,您只是输入错了:

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

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

将compact更改为compact('bukudn')或将变量名称更改为$bukudns

答案 1 :(得分:0)

我不确定以下行是否符合您的要求:

$query = bukudn::where('namaBuku', 'LIKE',"%'($request->keyword)'%");

您可以尝试一下

$query = bukudn::where('namaBuku', 'LIKE',"%".$request->keyword."%");

您可能需要清理$request->keyword