在Laravel隐藏空类别

时间:2016-07-25 11:58:20

标签: php laravel-4

当我查询显示空类别时,如何隐藏空类别?空类别是指没有产品分配给它们的类别。 这是我的控制器

    public function showSubCats($categoryId) {

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

这是视图

@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

这是我的SubCategories模型

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');
}

在产品表格中,我的列为sub_cat_id,并且包含已分配的类别。如果为0则未分配给任何类别。

我现在如何隐藏空类别?

1 个答案:

答案 0 :(得分:1)

除模型外,您还应使用where

return $this->hasMany('Action')->where('sub_cat_id', 1);

注意:

我相信你只需要记录sub_cat_id为1的记录。如果没有将其更改为0或相应的。

希望这有助于你