не могу показать результат поиска в laravel - PullRequest
0 голосов
/ 30 августа 2018

У меня небольшая проблема с использованием функции поиска в laravel, все работало. но когда я ищу какую-то буку, она вообще не отображается.

это моя функция поиска

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>

проблема в том, что моя программа не показывает результат поиска, возможно, этот снимок экрана объяснит мою проблему введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Если это ваш настоящий код, вы только что получили опечатку:

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

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

либо смените компакт на compact('bukudn') или на имя переменной $bukudns

0 голосов
/ 31 августа 2018

Я не уверен, что следующая строка делает то, что вы хотите:

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

Не могли бы вы попробовать с этим

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

Возможно, вам нужно продезинфицировать $request->keyword

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...