【问题标题】:Laravel change variable within collection filtering集合过滤中的Laravel更改变量
【发布时间】:2015-11-24 14:47:56
【问题描述】:

有没有办法让$var = 7像这样在集合过滤中?

$var = 1;

$collection->filter(function( $q ) use ($var){
    if( true ){
        $var = 7;
        return true;
    }
});

dd( $var );

目前这不起作用,我得到的仍然是1

我也尝试过使用global,但我仍然得到1

【问题讨论】:

    标签: php laravel collections scope filtering


    【解决方案1】:

    传递变量by reference,那么它就会被改变,例如

    $collection->filter(function( $q ) 使用 (&$var){
                                          //^ 看这里
    

    【讨论】:

    • 天哪,谢谢你,我在这个问题面前被冻结了很长时间,而一个小小的& 修复了它:(
    猜你喜欢
    • 2018-05-07
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多