Когато използвате функция за обратно извикване в PHP, функцията има собствен обхват и няма достъп до променливи извън своя обхват.
$foo = true;
DB::collection('something')->raw(function ($collection) {
echo $foo;// $foo is undefined here, this create an error
});
echo $foo;// here it work
Но можете да захранвате вашето обратно извикване с променливи, като използвате PHP use
ключова дума
:
$foo = true;
DB::collection('something')->raw(function ($collection) use ($foo) {
echo $foo;// now it works
});