Quando utilizzi una funzione di callback in PHP, la funzione ha il proprio ambito e non può accedere a variabili al di fuori del proprio ambito.
$foo = true;
DB::collection('something')->raw(function ($collection) {
echo $foo;// $foo is undefined here, this create an error
});
echo $foo;// here it work
Ma puoi alimentare la tua richiamata con variabili usando PHP use
parola chiave
:
$foo = true;
DB::collection('something')->raw(function ($collection) use ($foo) {
echo $foo;// now it works
});