【问题标题】:Undefined variable $loop in Laravel Blade loopLaravel Blade 循环中未定义的变量 $loop
【发布时间】:2017-01-26 18:41:33
【问题描述】:

根据最新的 laravel Blade 文档(https://laravel.com/docs/5.3/blade 参见“循环”),我可以“[...] 使用循环变量来获取有关循环 [...] 的有价值信息”。

我的 laravel 版本是最新的,但在我的 foreach 循环中我无法访问 $loop 变量。它说“未定义的变量 $loop”。

例子:

@foreach( $values["rating"] as $rating )
@if( $loop->iteration == 3 )
-- do something --
@endif
@endforeach

有人知道这个的解决方案吗?非常感谢!

【问题讨论】:

  • 如果在@foreach-loop 中执行{{ print_r($loop) }} 会得到什么?
  • 不幸的是 {{ print_r($loop) }} 什么也没返回。
  • 在循环之前,您确定$values["rating"] 实际持有一个值?因此,如果您只是在实际循环之前执行{{ print_r($values["rating"]) }},您会得到某种输出?
  • 是的,它包含 7 个项目 - 所以我收到 7 个“未定义值 $loop”警告。
  • 你确定你安装了 Laravel 5.3 吗?该循环在 5.2 中不可用:laravel.com/docs/5.2/blade 请检查您的 composer.json,可能有类似 5.2.* 的内容

标签: laravel loops variables undefined blade


【解决方案1】:

升级到 Laravel 5.3 后,您需要重新保存视图才能看到 $loop 变量生效,因为您可能正在查看缓存版本。我遇到了同样的问题,升级了,仍然有问题,重新保存了视图(修改后),然后 $loop 工作了。

【讨论】:

    猜你喜欢
    • 2017-05-18
    • 2020-11-30
    • 2014-12-09
    • 2020-03-03
    • 2020-11-03
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多