我在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
答案 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