簡體   English   中英

Laravel刀片模板中的Foreach范圍變量

[英]Foreach scope variable in laravel blade template

好的,我得到了帶有laravel Collection對象(稱為$projects “主”刀片模板,並將其傳遞給視圖

'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

問題在於,此時<h4>{{ $last_id }}</h4>我獲得了正確的項目ID值(所以最后一個塊的值為6

但是在main.blade.php中的<div>{{ $last_id }}</div> (循環結束之后),我得到0 (初始值)

我猜刀片@foreach循環對外部作用域的變量沒有影響...還是我錯了?

如果我正確理解,在您的循環中,php創建局部變量$last_id ,它不使用您的全局變量$last_id 在您的情況下,您將運行循環,創建局部變量$last_id並將$last_id $project->id值放入其中。 您的全局變量$last_id 循環結束后,從全局范圍輸出$last_id ,該范圍沒有變化,因此它等於0,如您所定義

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM