我使用了Laravel 5的块方法闭包。
但是当函数闭包获得一个新块时,重置var。
...
$var = 0;
DB::connection('mysql_old')->table($table)->orderBy('uid')->whereNotNull('uid')->chunk(100, function($suppliers)
use ($table, $checks, $faker,$missing,$var)
{
// Some code
++$var;
}
如果在每个新块上使用$var
传递给use ($var)
,$var
将重置为0。
箱子和用户关闭计数器的最佳方式是什么?
答案 0 :(得分:2)
您需要通过引用function() use(&$var) {}
如果你没有通过引用传递,那么你传递的就是值,所以任何修改的范围就像普通参数一样。