Written by Manabu Bannai

【Laravel】複数条件の検索フォームを作る方法【orWhere】

Laravel PROGRAMMING

Laravelで複数条件の検索フォームを作っていきます。
仕様としては、ヤフオクで実装されている検索フォームと同じです。
ヤフーオークション

DB内にある、カテゴリー、タイトル、本文を検索することができます。
一番基礎的な検索フォームの作り方は以下を参考にどうぞ。
【Laravel】ページネーション付き検索フォームを作成する方法

まずは検索フォームのビューを作成します。

<div class="search">
	{{ Form::open(['method' => 'GET']) }}

	{{ Form::input('search', 'cat', Input::old('cat', $catQuery), array('placeholder'=>'カテゴリーで検索')) }}

	{{ Form::input('search', 'q', Input::old('q', $query), array('placeholder'=>'キーワードで検索')) }}

	{{ Form::submit('Search', array('class' => 'btn btn-primary')) }}
	{{ Form::close() }}
</div>

つぎにコントローラーを作成します。


public function search()
{
	// カテゴリー検索のインプット
	$catQuery = Request::get('cat');

	// タイトル、本文検索のインプット
	$query = Request::get('q');

	if ($catQuery || $query) {
		$posts = Post::where('category', 'LIKE', $catQuery)->orWhere('title', 'LIKE', '%'.$query.'%')
				->get();
	}else{
		$posts = Post::orderBy('created_at')->get();
	}

	return View::make('posts.index')
		->with('posts', $posts)
		->with('catQuery', $catQuery)
		->with('query', $query);
}

たったこれだけで完成です。

人気記事:Web制作の独学方法をガッツリまとめました。

» 【独学でWeb制作マスター】勉強方法のまとめ【初心者向け】

おすすめ:Webで稼ぎたいなら、Webマーケティングを学びましょう。ノウハウまとめました。

» 【超初心者向け】Web集客の基礎から応用までガッツリまとめました。