1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravelで検索機能(検索したい項目だけ)を実装する

Last updated at Posted at 2020-04-12

PHP 7.1.29
Laravel Framework 5.5.48

Laravelにて以下の検索を行う。
・お届け先氏名
 ┗自由入力で部分一致
・注文日
 ┗開始日・終了日を選択して、その期間内の注文を検索
  開始日のみ入力されている場合:開始日以降の注文を全て表示
  終了日のみ入力されている場合:終了日以前の注文を全て表示としてください

※注文日、お届け先の氏名の複合条件でも検索されるように実装する。

スクリーンショット 2020-04-12 14.51.43.png
public function search(Request $request)
{
	// 検索機能
	$query = $this->purchase->query();
	// 名前検索
	if (!empty($request->name)) {
		$query->where('full_name', 'like', "%{$request->name}%")->get();
	}
	// 日付検索(開始日)
	if (!empty($request->start_date)) {
		$query->where('created_at', '>=', $request->start_date)->get();
	}
	// 日付検索(終了日)
	if (!empty($request->end_date)) {
		$query->where('created_at', '<=', $request->end_date)->get();
	}
	$purchases = $query->get();

	return view('admin.purchase.index', compact('purchases', 'request'));
}

queryを使用することで
必要な検索のみを追加してDBよりデータを取得する。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?