dqu3974 2017-02-21 05:09
浏览 235
已采纳

为什么laravel刀片中的@if条件不起作用? (Laravel 5.3)

If my code is like this :

<ul class="test">
    @foreach($categories as $category)
        @if($loop->first)
            $category_id = $category->id
        @endif
    @endforeach
</ul>

There exist error :

Undefined variable: category_id (View: C:\xampp\htdocs\myshopesources\views\front.blade.php)

If my code is like this :

<ul class="test">
    @foreach($categories as $category)
        @php
        if($loop->first)
            $category_id = $category->id
        @endphp
    @endforeach
</ul>

I works

Why the first way does not work?

  • 写回答

1条回答 默认 最新

  • dousuo8400 2017-02-21 05:12
    关注

    Because you are trying to assign a variable in Blade view. Here are ways to assign variables in Blade template.

    {{--*/ $category_id = $category->id /*--}}
    <?php $category_id = $category->id ?>
    @php $category_id = $category->id @endphp
    

    The space between @if() and @endif is simply html. That's why you use curly braces to echo values {{ $value }}

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?