2016-07-25 10 views
1

Ich versuche, die Funktion zu machen, wenn ich auf Hauptkategoriename klicke, lade neue Seite und zeige alle Unterkategorien an, wenn es welche gibt.Alle Unterkategorien werden angezeigt, wenn man auf die Hauptkategorie in Laravel klickt

Bisher habe ich dies in meiner Route

Route::get('/subcatView/{categoryId}', ['uses' => '[email protected]']); 

Dies ist Schaltfläche in meinem Indexansicht, wo ich Unter Katzen

<a href="{{ URL::to('/subcatView/' . $category_menu->category_id) }}">{{ $category_menu['category_name'] }}></a> 

Dieses ist von meiner Controller

public function showSubCats($categoryId) { 

     $subcats = SubCategories::where('category_id', '=', $categoryId)->first(); 
     return View::make('site.subcategory', [    
      'subcats' => $subcats 
     ]); 
} 
laden Sie sich

und Unterkategorie blade

@foreach($subcats as $i => $subcategory) 

    <div class="col-md-4"> 
      <div class="panel panel-default text-center">        
       <div class="panel-heading">{{ $subcategory['sub_cat_name'] }}</div> 
        <div class="panel-body min-h-230"> 
          <img src="{{ $subcategory['sub_cat_image'] }}" alt="{{ $subcategory['sub_cat_name'] }}" /> 
        </div> 
        <div class="panel-footer"> 
         <div class="row">          
          <div class="col-sm-6 text-right"> 
        <a href="{{ URL::to('/single/products/' . $subcategory['sub_cat_id']) }} " class="btn btn-info view-more">View More</a> 
          </div> 
         </div> 
        </div> 
       </div> 
      </div> 
@endforeach 

In der Unterkategorie Tabelle habe ich die Spalte category_id, die der Hauptkategorie ID entspricht.

Wenn ich die Seite jetzt öffne, bekomme ich nichts für Unterkategorien. nein sub_cat_name, sub_cat_image ... nichts. Nur leere HTML-Stil

+0

Warum nicht 'dd ($ subcats)' in 'showSubCats' vor Rückkehr Ansicht –

Antwort

2

Ihre Unterabfragen Abfrage in der Steuerung sollte get (ein Array) nicht first (einzelnes Objekt) anfordern.

$subcats = SubCategories::where('category_id', '=', $categoryId)->get(); 
+0

Dankten aber ich habe eine Fehlermeldung anzeigt:' BadMethodCallException 'mit der Meldung' Call to undefined Methode Illuminate \ Database \ Abfrage \ Builder :: all() ' – Garg

+0

Mit' get(); 'es funktioniert .. danke '$ subcats = Unterkategorien :: wo (' category_id ',' = ', $ categoryId) -> get();' – Garg

+0

Sorry, ich meine 'Get' –

Verwandte Themen