Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel刀片模板中的Foreach范围变量_Php_Laravel_Blade - Fatal编程技术网

Php laravel刀片模板中的Foreach范围变量

Php laravel刀片模板中的Foreach范围变量,php,laravel,blade,Php,Laravel,Blade,好的,我得到了这个“主”刀片模板,带有名为$projects的laravel集合对象,并传递给视图 'main.blade.php' ... <div id="projects-list"> <?php $last_id = 0; ?> @include('partials._project') </div> <div>{{ $last_id }}</div> ... “partials._project.blade

好的,我得到了这个“主”刀片模板,带有名为$projects的laravel集合对象,并传递给视图

'main.blade.php'

...
<div id="projects-list">
    <?php $last_id = 0; ?>
    @include('partials._project')
</div>

<div>{{ $last_id }}</div>
...
“partials._project.blade.php”模板如下所示

@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
问题是在这一点上{$last_id}我得到了正确的项目id值,所以最后一个块显示了值6

但是在我的main.blade.php中,{{$last_id}}循环结束后,我得到0初始值

我猜blade@foreach循环对外部范围的变量没有影响。。。
还是我错了?

如果我理解正确,在您的循环中,php创建局部变量$last\u id,它不使用全局变量$last\u id。在您的情况下,您运行循环,创建局部变量$last\u id,并将$project->id中的值放在那里。全局变量$last\u id没有更改。循环完成后,您从全局范围输出$last_id,该值未更改,因此它等于0,正如您定义的那样

main.blade.php如何与partials链接。_project.blade.php。如果您从控制器传递$last_id,您可以访问它!partials.\u project.blade.php是文件名吗?好的,那么我该如何解决这个问题呢?。。我需要给循环内的外部变量赋值,然后在循环外获取对该值的访问权。或者这在blade中是不可能的?尝试在$GLOBALS数组中分配变量。在main.blade中而不是在循环中,然后{{$GLOBALS['last_id']}