php laravel foreach中动态增加循环元素

请问下,原生php可以在循环的时候动态根据条件增加额外循环项,代码如下:

$a = [1, 2, 3];
foreach($a as &$v){
    if($v == 2){
        $a[]  = 7;
    }
    echo $v;
}

最终输出的是1237,也就是额外多循环了一次;
但是在laravel中,循环的是LengthAwarePaginator分页的东东,虽然可以动态增加元素,但是实际上没有循环到这个元素。
https://img4.mukewang.com/5c8f6ee40001f89003830150.jpg

https://img1.mukewang.com/5c8f6ee600017cbe02980525.jpg

实际页面渲染后第21个元素asd没有循环出来,请问有什么方法可以解决嘛?我想到的是获取LengthAwarePaginator的items元素,然后手工弄成个数组形式的,但里面的元素还是保持模型对象(不然关系没法用了),可是这个items是protected属性,没法直接获取。。

当年话下
浏览 1265回答 2
2回答

HUWWW

可以了,先循环一遍。。

慕标琳琳

在模版里可能不行。 循环的变量体是通过AbstractPaginator类内的迭代器生成的。也就是说在循环时变量体就已经是确定的,在循环里改变不了。
打开App,查看更多内容
随时随地看视频慕课网APP