外部変数を使用した PHP クロージャの利用
Laravel の高度な where 句を使用する場合、外部変数をクロージャ関数に渡す必要があります。デフォルトの構文には、新しいプロパティの作成と、$this を介したそのプロパティへのアクセスが含まれます。ただし、use キーワードを使用すると、より便利な解決策が提供されます。
use を使用すると、クロージャのスコープ内で必要な変数を宣言できます。例:
DB::table('users')->where(function ($query) use ($activated) { $query->where('activated', '=', $activated); })->get();
このアプローチにより、クロージャ内で $activated 変数を直接参照できます。
PHP 7.4 による拡張構文
PHP 7.4 では、アロー関数は匿名関数の簡潔な代替手段を提供します。アロー関数を使用した例を次に示します。
DB::table('users')->where(fn($query) => $query->where('activated', '=', $activated))->get();
ただし、アロー関数は通常の関数とは少し異なることに注意してください。
以上がLaravel の「where」句を使用する場合、PHP クロージャで外部変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。