LaravelでwhereにAndやOrを組み入れてデータを抽出する方法【初心者のLaravel入門講座】

Laravelデータベース

whereを上手に使うと、データベースから望み通りの値を検索・抽出できます。

「OrやAndをwhereと組み合わせて、条件式を作りたい」

「whereをどう使うか、イマイチわからない」

という方のために、whereを使ってデータベースから思いのままにデータを抽出する方法を紹介します。

基礎編からレベル5まで、レベル別に解説していきますね。

じゅんこ
じゅんこ

データ抽出が苦手な方は、ぜひ、参考にしてください。

Laravel whereにAndやOrを組み入れた複雑な条件式の作り方

今回は、次のようなデータベーステーブルから、whereを使って値を取り出していきます。

レベル① whereの基本の使い方

まずは基本レベルから。

上記のテーブルから、dangoカラムが「みたらし」のデータを抽出するには、次のように書きます。

【コントローラー】

このようにすると、表のなかから「じゅんこ」と「ただお」が抽出されます。

whereを使った基本の形をまとめると、下記のようになります。

モデル名::where(‘基準となるカラム’, ‘条件’) ->get();

whrereだけでは条件を指定するだけなので、値を抽出できません。

必ず get()または first()を最後にいれて、値を取得しましょう。

get()だと条件に合うものすべて、first()だと条件に一致する最初のデータを取得できます。

じゅんこ
じゅんこ

これ、非常に大事なポイントです。

get()で取得すると複数データ扱いになるので、ビューファイルでデータを表示する時は、foreachをよく使います。

【foreachをビューファイル上で使用する例】

レベル② whereで複数の条件を入れる

次はレベル2。複数条件を使って、データを抽出してみましょう。

上記のテーブルから、dangoカラムが「みたらし」で、さらにnumberカラムが5個以上のデータを抽出します。

【コントローラー】

上記のように取り出すと、表のなかから「ただお」だけが抽出されます。

レベル③ orWhereを使って「または」条件を入れる

「AまたはB」といった条件で値を取り出したいときはorWhereが便利です。

上記のテーブルから、dangoカラムが「みたらし」または「あんこ」のデータを抽出してみましょう。次のように書きます。

【コントローラー】

このようにすると、表のなかから「じゅんこ」「たけし」「ただお」が抽出されます。

レベル④ whereとorWhereを使って複雑な複数条件を入れる

次はレベル4。どんどん難しくなっていきます!
上記のテーブルから、

  • dangoカラムが「みたらし」で、さらにnumberカラムが6個以上、
  • またはdangoカラムが「あんこ」

のデータを抽出してみましょう。次のように書きます。

【コントローラー】

このようにすると、表のなかから「たけし」「ただお」が抽出されます。

レベル⑤ whereの中で変数を使って複雑な複数条件を入れる

最後はwhereとorWhereを使い、かつ、変数も使っていきます。

上記のテーブルから、

  • dangoカラムが「みたらし」でnumberカラムが$num個以上、
  • またはdangoカラムが「しょうゆ」

のデータを抽出してみましょう。

$numの値は、2としておきます。

この場合、次のようにwhereとorWhereと$queryを使って、コードを書きます。

【コントローラー】

このようにすると、表のなかから「じゅんこ」「けいこ」「ただお」が抽出されます。

なお、useの後の変数はカンマ, で区切れば、複数設定できます。

じゅんこ
じゅんこ

ちょっと頭がこんがらがってきますが。

whereを使って、かなり色々な条件を作れちゃいますよね。

ぜひ、whereとorWhereを便利に使いこなしていきましょう♪

Laravelデータベース Laravel入門講座

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる

 

Laravelの教科書限定コミュニティ【Laravelの教科書ラボ】はじめました。
デプロイ講座付。StripeやChatGPT連携など過去10回分のセミナー動画視聴可能。

Laravel実践スキルをのばしたい方におすすめです。

ラボの案内を見てみる

Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました