如何解决如何获取Laravel刀片@each中的迭代值?
在Laravel Documentation中,我对此进行了更改:
<ul>
@foreach($users as $user)
<li>{{ $loop->iteration }}</li>
<li>{{ $user->name }}</li>
<li>{{ $user->email }}</li>
@endforeach
</ul>
进入:
<ul>
@each('user.list',$users,'user','user.empty')
</ul>
list.blade.php
<li>{{ $loop->iteration }}</li>
<li>{{ $user->name }}</li>
<li>{{ $user->email }}</li>
empty.blade.php
<li>There is no user is users.</li>
但是,我在{{ $loop->iteration }}
中遇到错误“未定义的变量:循环”
那么,有没有办法在@each中进行迭代?
解决方法
通过
@each
呈现的视图不会从父视图继承变量。如果子视图需要这些变量,则应改用@foreach
和@include
。
因此,您的代码不会从正在处理循环的父视图中继承$loop
变量。
类似的事情可能会起作用:
@if (count($users)
@foreach ($users as $user)
@include("user.list",compact("user","loop"))
@endforeach
@else
@include("user.empty")
@endif
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。