仅显示分配给所选类别的产品的评论

时间:2017-11-02 10:43:45

标签: php laravel laravel-5

我有子类别,显示分配给它的所有产品。我想显示所有仅属于所选类别中的产品的评论。

示例:当我打开子类别将显示2个产品(分配给它)然后从表格reviews我想只选择此产品的所有评论

到目前为止,我有子类别和产品。现在我想知道如何选择那些产品评论。

这就是我在DualSubCategories模型中与产品的关系

public function products()
{
   return $this->hasMany('App\Product', 'dual_sub_cat_id');
} 

这是我控制器中的功能

public function showSubProducts($subcatId)
{

    $dual = DualSubCategories::where('sub_cat_id', $subcatId)->with('products')->get();

    return View::make('subcategory', [
        'dual' => $dual
    ]);
}

在表格reviews中,我有product_id

我在我的DualSubCategories模型中添加了与评论相关的内容

public function reviews()
{
   return $this->hasMany('App\Review', 'product_id');
}

然后在刀片上我试过这个

@foreach($dual->reviews as $review)

 ...

@endforeach

无论哪种产品属于类别,都会显示所有评论。

1 个答案:

答案 0 :(得分:0)

您必须急于加载产品评论,而不是子类别重写:

public function showSubProducts($subcatId)
{

    $dual = DualSubCategories::where('sub_cat_id', $subcatId)->with('products.reviews')->get();

    return View::make('subcategory', [
        'dual' => $dual
    ]);
}

在视图中:

@foreach($dual->products as $product)
    @foreach($product->reviews as $review)

     ...

    @endforeach
@endforeach

删除子类别和评论之间的关系