人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

Laravelのモデルで複数のAND条件のクエリーを実行する

Laravelのモデルで複数のAND条件のクエリーを実行する

クロージャを使う方法がよく紹介されていますが、ローカルスコープを使うのもおすすめです
スコープを使うと SQL文で言う所の 「AND ( 何かしらのSQL文 )」 を発行することができます。

例えば次のような単純なSQL文もスコープにしてしまうと簡単です。

AND ( feed_id = 100 )

モデルファイル( 例:User モデルの場合 ) app/User.php

    /**
     * ローカルスコープ:inFeed:フィードIDに限定するスコープ
     */
    public function scopeInFeed($query, $feed_id)
    {
        return $query->where('feed_id','=', $feed_id);
    }

コントローラファイルに記述

$model->inFeed( 100 );	// ローカルスコープ適用
No.1370
11/17 18:35

edit