ホームページ > 記事 > PHPフレームワーク > Laravelでスコープを使う方法
laravel では、モデル内のデータを処理するためにスコープが使用されます。モデル内のスコープの先頭でメソッドを定義できます。これらのメソッドはモデルを通じて直接呼び出すことができ、クエリ スコープと呼ばれます。構文は「パブリック関数スコープ」です。単語の最初の文字を大文字にします ($query){...}」。
#この記事の動作環境: Windows 10 システム、Laravel バージョン 8、Dell G3 コンピューター。
laravel のスコープ スコープ
laravel では、テンプレート内で処理されるデータ (属するかどうか) (追加、削除、変更、確認) ) が導入されました。 スコープを使用して処理します。
#つまり、テンプレート定義メソッドにプレフィックス スコープを追加します。 つまり、Laravel のモデルはスコープの先頭でメソッドを定義でき、これらのメソッドはモデルを通じて直接呼び出すことができます。このタイプのアプローチはクエリ スコープとも呼ばれます。 条件付きクエリはデータ クエリでよく使用されます。これらのクエリ条件の一部は同じです。Scope では、これらの同じクエリ条件の再利用を実現できます。通常のスコープ
定義メソッドは、最初の文字を大文字にしたスコープという名前が付けられます (これは任意に定義できます)
public function scopeStatus($query) { return $query->where('status',1); }Use最初の文字が小文字の関数は、スコープを削除した後に呼び出されます。 scopeStatus () は status () を呼び出します。
User::status()->get();
グローバル スコープ
ブート メソッドを再定義し、親クラスのブートを統合し、デフォルトでグローバルに使用されるようにグローバル スコープを追加する必要があります。 。protected static function boot() { parent::boot(); // TODO: Change the autogenerated stub static::addGlobalScope('avaiable',function (Builder $builder){ $builder->whereIn('status', [0, 1]); }); }このグローバル スコープを必要としないクエリがある場合、それを削除する必要がある場合があります。 withOutGlobalScope() メソッドを使用する
Post::withOutGlobalScope('avaiable')->get();[関連する推奨事項:
laravel ビデオ チュートリアル]
以上がLaravelでスコープを使う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。