在块函数 Laravel 上使用变量
Posted
技术标签:
【中文标题】在块函数 Laravel 上使用变量【英文标题】:Using variable on chunk function Laravel 【发布时间】:2014-08-07 21:45:27 【问题描述】:我需要在 laravel 4 上的方法中使用一个变量,我如何将这个变量从 eloquent 传递给方法块?
$variableonmethod=array('value1','value2');
PreAlumno::chunk(200, function($prealumnos)
foreach ($prealumnos as $pre)
//do something with variableonmethod
);
【问题讨论】:
【参考方案1】:如果你只喜欢阅读信息
$variableonmethod=array('value1','value2');
PreAlumno::chunk(200, function($prealumnos) use ($variableonmethod)
echo variableonmethod[0]; // prints `value1`
variableonmethod[0] = 'Hola';
echo variableonmethod[0]; // prints `Hola`
foreach ($prealumnos as $pre)
//do something with variableonmethod
);
echo variableonmethod[0]; // prints `value1`
但是,如果您喜欢读取数组并更改它们的值(请查看 use
上的 &)
$variableonmethod=array('value1','value2');
PreAlumno::chunk(200, function($prealumnos) use (&$variableonmethod)
echo variableonmethod[0]; // prints `value1`
variableonmethod[0] = 'Hola';
echo variableonmethod[0]; // prints `Hola`
foreach ($prealumnos as $pre)
//do something with variableonmethod
);
echo variableonmethod[0]; // prints `Hola`
【讨论】:
太好了,这就是我要找的。span> 【参考方案2】:您可以使用 use ($var) 传递数组来实现您的结果。
$variableonmethod=array('value1','value2');
PreAlumno::chunk(200, function($prealumnos) use ($variableonmethod)
foreach ($prealumnos as $pre)
//do something with variableonmethod
);
【讨论】:
以上是关于在块函数 Laravel 上使用变量的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 使用 env 读取环境变量为 null 的问题