Når du bruger en tilbagekaldsfunktion i PHP, har funktionen som sin egen rækkevidde og kan ikke få adgang til variabler uden for dens rækkevidde.
$foo = true;
DB::collection('something')->raw(function ($collection) {
echo $foo;// $foo is undefined here, this create an error
});
echo $foo;// here it work
Men du kan feed dit tilbagekald med variabler ved at bruge PHP use
søgeord
:
$foo = true;
DB::collection('something')->raw(function ($collection) use ($foo) {
echo $foo;// now it works
});