好的,我得到了这个'主要'带有laravel Collection对象的刀片模板,名为$projects
并传递给视图
' main.blade.php'
...
<div id="projects-list">
<?php $last_id = 0; ?>
@include('partials._project')
</div>
<div>{{ $last_id }}</div>
...
和&#39; partials._project.blade.php&#39;模板看起来像这样
@foreach($projects as $project)
<?php $last_id = $project->id ?>
<a href="{{ action('ProjectController@index', $project->uri) }}">
<h4>{{ $last_id }}</h4>
<img src="{{ $project->getProjectImage($project->poster) }}">
</a>
@endforeach
问题在于,此时<h4>{{ $last_id }}</h4>
我得到正确的项目ID值(因此最后一个块显示6
的值)
但是在<div>{{ $last_id }}</div>
的main.blade.php中(循环结束后)我得到0
(初始值)
我猜刀片@foreach
循环对外部范围的变量没有影响......
或者我错了吗?
答案 0 :(得分:-1)
如果我理解正确,在你的循环中,php创建局部变量$last_id
,它不会使用你的全局变量$last_id
。在您的情况下,您运行循环,创建局部变量$last_id
并从$project->id
放置值。您的全局变量$last_id
未被更改。在循环完成后,从全局范围输出$last_id
,这不会改变,因此它等于0,正如您所定义的那样