Wenn Sie eine Callback-Funktion in PHP verwenden, hat die Funktion ihren eigenen Gültigkeitsbereich und kann nicht auf Variablen außerhalb ihres Gültigkeitsbereichs zugreifen.
$foo = true;
DB::collection('something')->raw(function ($collection) {
echo $foo;// $foo is undefined here, this create an error
});
echo $foo;// here it work
Aber Sie können Ihren Callback mit Variablen füttern, indem Sie den PHP use
Schlüsselwort
:
$foo = true;
DB::collection('something')->raw(function ($collection) use ($foo) {
echo $foo;// now it works
});