2016-09-09 3 views
0

모델 Category 및 모델 Subcategory입니다. 이것들은 관련되어 있습니다.Laravel 관련 레코드가 있는지 확인하십시오.

이제 카테고리에 하위 카테고리가 있는지보기를 확인하고 싶습니다. 그렇다면이 코드를 실행하십시오 (이 코드를 실행하지 않는 경우).

나는

@forelse($categories as $category) 
          @if($category->subcategory) 
           <li class="sub-category"> 
            <a href="#"><img src="{{ asset('img/icon/'.$category->icon) }}" alt="{{ $category->name }}">{{ $category->name }}</a> 
            <ul class="sub-menu clearfix"> 
             @foreach(isset($category->subcategory)) as $subcategory) 
              <li class="sub-sec col-md-6"> 
               <ul> 
                <li><a href="#" class="title">{{ $subcategory->name }}</a></li> 
                <!--// 
                <li><a href="#"><i class="fa fa-angle-double-right"></i> Single Item 1</a></li> 
                <li><a href="#"><i class="fa fa-angle-double-right"></i> Single Item 2</a></li> 
                <li><a href="#"><i class="fa fa-angle-double-right"></i> Single Item 3</a></li> 
                <li><a href="#"><i class="fa fa-angle-double-right"></i> Single Item 4</a></li> 
                --> 
               </ul> 
              </li> 
             @endforeach 
            </ul> 
           </li> 
          @else 
           <li><a href="#"><img src="{{ asset('img/icon/'.$category->icon) }}" alt="{{ $category->name }}">{{ $category->name }}</a></li> 
          @endif 

         @empty 

         @endforelse 

같은 것을 생각하지만 isset()를 사용하여이 작업을 수행 할 수있는 간단한 방법이있다

답변

1

잘못된 것 같다. 결정할 하위 범주의 수를 사용하십시오.

예 :

if ($category->subcategory()->count() > 0)

아마 당신은 또한 변수, 방법과 관계의 몇 가지 이름을 변경해야합니다. 그것은 훨씬 쉽게 읽을 수 있습니다. 예를 들어 하나 이상의 하위 카테고리가 있으므로 하위 카테고리 관계의 하위 카테고리로 이름을 바꿀 수 있습니다. 이 도움이

@forelse ($categories as $category) 

    <li> 

     <a href="...">{{ $category->name }}</a> 

     @if ($category->subcategory()->count() > 0) // Check if more than one subcategory 

      @foreach($category->subcategories as $subcategory) // Change $category->subcategory to $category->subcategories 

       ... 

      @endforeach 

     @endif 

    </li> 

@empty 

    No categories 

@endforelse 

희망 :) 이것은 마법처럼 작동

+0

:

코드는 같을 것이다. 에 관해서는, 복수형을 사용해서, 나는 그것을했다, 단지보기 LOL에서 틀린 이름을 사용했다. 그걸 지적 해 주셔서 고마워요! – Scarwolf

+0

@Scarwolf 도와 주시겠습니까 :) –

관련 문제