Laravelで検索機能の実装 [基本]

2020年3月1日

PHP

Eloquentにおいてクエリビルダによって検索機能を実装していきます。

 

関連ページ

Eloquentでテーブルの一覧表示

 

 

作成するアプリケーションの概要は下記のようになります。

 

 

1, 初期状態です。

2,「石」で検索した結果です。titleとauthorを検索しています。

3, さらにstockが3以上を検索した結果です。

 

 

 

作成したマイグレーションファイルです(ハイライト部分を追記)。

 

database/migrations/2020_03_01_093646_create_books_table.php

 

 

ルートを定義します。

routes/web.php

 

 

bookディレクトリを作成し、テンプレートを用意します。

resources/views/book/index.blade.php

9行目

検索結果が1件以上の場合に表示させます。

 

コントローラーを下記のように編集します。

app/Http/Controllers/BookController.php

15〜26行目

クエリビルダ(QueryBuilder)でクエリを組み立てていきます。

 

18行目・19行目

whereメソッドの第1引数に検索するテーブル名を指定しています。第2引数にはオペレータとしてLIKE検索を指定し、第3引数には両側に%を付加することによって部分一致検索を実現しています。また19行目においてorWhereメソッドでOR検索を実現しています。

 

23行目

第2引数にオペレータとして「以上」である>=を指定しています。

 

26行目

最後に最終的な結果として、getメソッドで構成してきたクエリによるデータを取得しています。

 

 

 

参照ページ


 

Laravel 6.x データベース:クエリビルダ

 

 

 

LINEで送る
Pocket

定番本
定期本
 
Copyright © 2020 思考の葉 All Rights Reserved.  プライバシーポリシー