Laravelで検索フォームを実装してみます。
準備
一部書き換えていますが、以前投稿した下記記事をベースに進めます。
Laravelでページネーションを実装してみる | cly7796.net
テーブルは以下のような内容になっています。

まずはデータベースからデータを取得して、一覧を表示させてみます。
app\Animation.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Autumn2016 extends Model
{
protected $table = 'autumn2016s';
}
app\Http\routes.php
Route::get('/search', 'SearchController@getIndex');
app\Http\Controllers\SearchController.php
<?php
namespace App\Http\Controllers;
use App\Autumn2016;
class SearchController extends Controller
{
public function getIndex()
{
$data = Autumn2016::get();
return view('search.index', compact('data'));
}
}
resources\views\search\index.blade.php
@foreach($data as $item)
<div>
<div>{{{ $item->id }}}</div>
<div>{{{ $item->title }}}</div>
<div>{{{ $item->category }}}</div>
<div>{{{ $item->production }}}</div>
<div>{{{ $item->actor }}}</div>
</div>
<hr>
@endforeach
データベースから取得したデータがすべて表示されました。
検索フォームの追加
検索フォームを追加して、データを絞り込めるようにしてみます。
resources\views\search\index.blade.php
{!! Form::open(['method' => 'GET']) !!}
{!! Form::text('s', null) !!}
{!! Form::submit('検索') !!}
{!! Form::close() !!}
@foreach($data as $item)
<div>
<div>{{{ $item->id }}}</div>
<div>{{{ $item->title }}}</div>
<div>{{{ $item->category }}}</div>
<div>{{{ $item->production }}}</div>
<div>{{{ $item->actor }}}</div>
</div>
<hr>
@endforeach
app\Http\Controllers\SearchController.php
<?php
namespace App\Http\Controllers;
use App\Autumn2016;
use Request;
class SearchController extends Controller
{
public function getIndex()
{
// 検索するテキスト取得
$search = Request::get('s');
$query = Autumn2016::query();
// 検索するテキストが入力されている場合のみ
if(!empty($search)) {
$query->where('title', 'like', '%'.$search.'%');
}
$data = $query->get();
return view('search.index', compact('data', 'search'));
}
}
検索前は全件の一覧が表示されます。

「あ」で検索すると、以下のように絞られた状態で表示されました。

【参考サイト】
コメントが承認されるまで時間がかかります。