ホームページ > データベース > mysql チュートリアル > Laravel の「where」句を使用する場合、PHP クロージャで外部変数にアクセスするにはどうすればよいですか?

Laravel の「where」句を使用する場合、PHP クロージャで外部変数にアクセスするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-20 06:25:10
オリジナル
998 人が閲覧しました

How Can I Access External Variables in PHP Closures When Using Laravel's `where` Clauses?

外部変数を使用した 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();
ログイン後にコピー

ただし、アロー関数は通常の関数とは少し異なることに注意してください。

  • これらは、親スコープから変数を自動的にキャプチャします。
  • これらは常に値を返すため、return キーワードは必要ありません。
  • これらは、何も含まない単一の式である必要があります。中括弧。

以上がLaravel の「where」句を使用する場合、PHP クロージャで外部変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート