2016-07-25 7 views
0

Ich versuche es zu machen, wenn Benutzer auf main category auf der nächsten Seite klicken, um alle Unterkategorien zu laden, ABER wenn dieser Hauptkategorie keine Unterkategorien zugeordnet sind, um alle Produkte anzuzeigen, die der Hauptkategorie zugeordnet sind . Abfrage, um Unterkategorien oder Produkte zu laden

Was ich bisher versucht, ist dies: Mein Controller:

public function showSubCats($categoryId) { 
    $ifNoSubCategory = Categories::with('products')->get();    
    $subcats = SubCategories::where('category_id', '=', $categoryId)->get(); 
    return View::make('site.subcategory', [    
      'subcats' => $subcats, 
      'ifNoSubCategory' => $ifNoSubCategory 
    ]); 
} 

Hier wird die Ansicht

@if(count($subcats) > 0) 
    @foreach($subcats as $i => $subcategory) 

     // looping sub categories assigned to main category 

    @endforeach 
@else 
    @foreach($ifNoSubCategory as $i => $singles) 

     // looping products assigned to main category 

    @endforeach 
@endif 

Was geschieht, ist, wenn es Unterkategorien sie sind auf der Seite richtig dargestellt, aber wenn es ist nicht Unterkategorien es zeigt die Box des Produkts, aber lädt nicht Produktname, Bild, Preis usw. .. nur leere HTML-Struktur ..

Wenn ich dd($ifNoSubCategory) Es zeigt mir richtige Daten, die auf der Seite sein müssen.

Wo ist mein Fehler hier?

Antwort

0

Ich nehme an, Sie Abfrage Tabelle products und Sie überprüfen durch category_id als unten Abfrage in Ihrem Controller. Dann versuchen Sie Ihre Suche verfeinern aus:

$ifNoSubCategory = Categories::with('products')->get(); 

zu:

$ifNoSubCategory = DB::table('products')->where('category_id', '=', $categoryId)->get(); 
Verwandte Themen