libro
www.tuyano.com
初心者のためのLaravel入門

ORM(Eloquent)の利用 (5/5)

作成:2016-02-14 11:34
更新:2016-02-14 11:34

■whereを使いこなす

モデルを使った検索は、whereメソッドをいかに使いこなすか、ということでもあります。whereには、2つの引数を持った形だけでなく、3つの引数を持つ形も用意されています。
where( 項目 , 演算子 , 値 )

こんな形ですね。2つの引数だった場合は、単純に「項目 = 値」のものを検索しましたが、演算子を指定することでその他の検索も可能になったわけです。

この第2引数の演算子には、「=」「>」「<」といった比較のための演算記号が一通り指定できます。また、テキストのあいまい検索を行うために「like」を指定することもできます。例えば、
$data = MyTable::where('name', 'like', 'yamada%')->get();

こんな具合に検索すれば、nameが「yamada」で始まるレコードを全て検索することができます。%は、ワイルドカードで、この後にどんなテキストが来てもOK、ということを示します。


■andとor検索
複数の検索条件を指定したい場合はどうするのでしょうか。これには、大きく2つのものがあります。and検索とor検索と呼ばれるものです。

・and検索
複数の条件のすべてに合致するものだけを検索するものです。これは、実はwhereだけで作ることができます。
モデル::where(条件1)->where(条件2)
このように、必要なだけwhereをつなげていけばいいのです。こうすることで、条件1で絞りこまれた中から更に条件2で絞り込んだ結果を得ることができます。

・or検索
複数の条件のいずれかに合致するものを全て検索するものです。これは、「orWhere」というメソッドを利用します。これは、基本的にwhereと同じ使い方です。
モデル::where(条件1)->orWhere(条件2)
このように、whereの後にorWhereを付けて呼び出します。これにより、条件1での絞り込みに、条件2の絞り込みを追加し、どちらか一方でも合致すれば検索されるようになります。


とりあえず、このぐらいのことが頭に入っていれば、基本的な検索はひと通り行えるようになります。特に、3つの引数を持つwhereは非常によく使いますので、実際にいろいろと試して使い方をマスターしておきましょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのLaravel入門」に戻る