2016-07-25 48 views
0

我试图在用户点击下一页上的main category来加载所有子类别但是如果没有分配给此主类别的子类别以显示分配给主类别的所有产品。查询加载子类别或产品

我试了一下,到目前为止是这样的:我的控制器:

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

这里被认为

@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 

正在发生的事情是,如果有子类别它们显示页面上正确,但如果有是不是子类别它显示产品的框,但不加载产品名称,图像,价格等。只是空的HTML结构..

当我我dd($ifNoSubCategory)它显示了我必须在页面上的正确数据..

我的错误在哪里?

回答

0

我假设你查询表products,并按照下面的查询在你的控制器中检查category_id。然后尝试查询从改变:

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

到:

$ifNoSubCategory = DB::table('products')->where('category_id', '=', $categoryId)->get(); 
相关问题