Wie kann ich leere Kategorien ausblenden, wenn ich abfragen, um sie anzuzeigen? Leere Kategorien sind diejenigen, die keine Produkte, die ihnen zugewiesen sind .. Hier ist mein ControllerVerstecken von leeren Kategorien in Laravel
public function showSubCats($categoryId) {
$subcats = SubCategories::where('category_id', '=', $categoryId)->get();
return View::make('site.subcategory', [
'subcats' => $subcats
]);
}
Hier ist der Ansicht
@if(count($subcats) > 0)
<div class="row">
@foreach($subcats as $i => $subcategory)
// display categories
@endforeach
@else
There is no products assigned to this category
</div>
@endif
Das ist mein Modell Unterkategorien
public function products()
{
return $this->hasMany('Product', 'category_id');
}
public function subcategories()
{
return $this->hasMany('SubCategories', 'category_id');
}
public function lowestProduct() {
return $this->products()->selectRaw('*, max(price) as aggregate')
->groupBy('products.product_id')->orderBy('aggregate');
}
In der Produkt Tabelle Ich habe Spalte, die sub_cat_id
ist und hält Kategorie, in der zugeordnet ist. Wenn 0 ist, wird keiner Kategorie zugewiesen.
Wie kann ich jetzt leere Kategorien ausblenden?
Sie sollten die whereHas() -Methode -https: //laravel.com/docs/4.2/eloquent#querying-relations –