Skip to main content

Search

In deze les gaan we een search box toevoegen aan onze pagina.

(zie: https://medium.com/justlaravel/search-functionality-in-laravel-a2527282150b)

Search form opnemen in template

<form action="/search" method="POST" role="search">
    {{ csrf_field() }}
    <div class="input-group">
        <input type="text" class="form-control" name="q"
            placeholder="Search users"> <span class="input-group-btn">
            <button type="submit" class="btn btn-default">
                <span class="glyphicon glyphicon-search"></span>
            </button>
        </span>
    </div>
</form>

We moeten een route opnemen die naar de juiste method in de LinkController wijst.

Route::post(..., 'LinkController@search' );

Kijk in het form en vul zelf de jusite code in op de plaats waar de ... staan.

Plaats nu de juiste method in de LinkController

protected function search(Request $request){
    $q = $request->input('search');
    $links = Link::where('...','LIKE','%'.$q.'%')->orWhere('...','LIKE','%'.$q.'%')->orWhere('...','LIKE','%'.$q.'%')->get();
    return view('links.index', ['links' => $links]);
}

Vul de code aan door op de plaats van de ... de juiste code te plaatsen. Let op waar moet je opzoeken, welke velden?

(ToDo search moet buiten de beveliging/login komen)