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