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

时间:2017-02-21 05:09:28

标签: php laravel laravel-5.3 laravel-blade

如果我的代码是这样的:

getResponse
{
  getResponseResult=anyType
  {
    schema=anyType
    {
      element=anyType
      {
        complexType=anyType
        {
          choice=anyType
          {
            element=anyType
            {
              complexType=anyType
              {
                sequence=anyType
                {
                  element=anyType{};
                  element=anyType{};
                };
              }; 
            };
          };
        };
      };
    };
    diffgram=anyType{};
  };
}

存在错误:

  

未定义的变量:category_id(查看:   C:\ XAMPP \ htdocs中\ myshop \资源\视图\ front.blade.php)

如果我的代码是这样的:

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

我工作

为什么第一种方法不起作用?

1 个答案:

答案 0 :(得分:4)

因为您尝试在Blade视图中分配变量。以下是在Blade模板中分配变量的方法。

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

@if()@endif之间的空格只是html。这就是为什么你使用花括号来回显值{{ $value }}