2017-02-21 11 views
3

私のコードは次のようである場合:laravelブレードの状態がなぜ機能しないのですか? (Laravel 5.3)

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

が存在エラー:

未定義の変数:CATEGORY_ID(閲覧: C:\ xamppの\ htdocsに\ myshop \リソース\ビュー\ front.blade.php)

私のコードは次のようである場合:

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

I works

なぜ最初の方法ではうまくいかないのですか?

+0

ループする前にcategory_id変数を定義し、ループで変数を割り当てます – Sona

答えて

4

ブレードビューで変数を割り当てようとしているためです。 Bladeテンプレートで変数を割り当てる方法は次のとおりです。

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

@if()@endifの間のスペースは、単にhtmlです。そのため、中括弧を使用して値をエコーするのはなぜですか{{ $value }}

関連する問題