グローバル スコープは Laravel の重要な概念であり、アプリケーション全体で Eloquent 条件を再利用できるようになります。グローバル スコープを実装すると、すべてのモデルにわたるクエリに特定の条件を適用でき、コードの再利用と一貫性が促進されます。対照的に、ローカル スコープは単一のモデルに限定されます。このチュートリアルでは、Laravel でのグローバル スコープの作成と利用に焦点を当てます。
where('is_active', '=', '1'); //or we can write $builder->whereIsActive('1'); } }
モデルに ActiveScope を追加すると、User::all() は次の SQL を生成します。
select * from `users` where `is_active` = '1'グローバル スコープを適用せずにすべてのデータをフェッチしたいシナリオが考えられます。 Laravel では、withoutGlobalScope メソッドを使用して、グローバル スコープをバイパスし、すべてのデータをフェッチできます。
User::withoutGlobalScope(ActiveScope::class)->get();モデルに適用されている複数またはすべてのグローバル スコープを削除したい場合は、Laravel の withoutGlobalScopes メソッドを使用できます。この方法を使用すると、すべてのグローバル スコープをバイパスしたり、削除するグローバル スコープを指定したりできます。以下に例を示します:
// Remove all of the global scopes... User::withoutGlobalScopes()->get();// Remove some of the global scopes... User::withoutGlobalScopes([ ActiveScope::class, AgeScope::class ])->get();コンテンツが気に入って、さらに素晴らしい記事をサポートしたい場合は、私にコーヒーを買うことを検討してください。 ☕️?あなたのサポートは私にとって非常に重要であり、知識の流れを維持するのに役立ちます。ここでそれを行うことができます: ?コーヒー買ってきて
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3