【问题标题】:Using variable on chunk function Laravel在块函数 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
        }
});

【问题讨论】:

    标签: php laravel orm


    【解决方案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
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      • 2017-01-03
      • 1970-01-01
      • 2018-02-11
      • 1970-01-01
      • 2011-09-09
      相关资源
      最近更新 更多