Khi bạn sử dụng một hàm gọi lại trong PHP, hàm này có phạm vi riêng và không thể truy cập các biến từ bên ngoài phạm vi của nó.
$foo = true;
DB::collection('something')->raw(function ($collection) {
echo $foo;// $foo is undefined here, this create an error
});
echo $foo;// here it work
Nhưng bạn có thể cấp dữ liệu gọi lại của mình bằng các biến bằng cách sử dụng PHP use
từ khóa
:
$foo = true;
DB::collection('something')->raw(function ($collection) use ($foo) {
echo $foo;// now it works
});