laravel:如何检查每个类别中的商品可用性?

时间:2019-03-11 16:09:26

标签: php laravel laravel-5 nested-sets

我使用laravel-nestedset,并可以通过以下代码获取所有类别及其子类别:

代码1:

$categories = $this->traverse(Category::defaultOrder()->get()->toTree(), null);

要检查每个类别中的产品可用性,   我使用以下代码:

code2:

if($category ->products()->exists()) {...}

我可以结合使用这两个代码吗?

我想要代码1,仅返回包含产品的类别。

当前,我使用以下代码:

代码3:

  $temp = [];
  $categories = $this->traverse(Category::defaultOrder()->get()->toTree(), null);
  foreach($categories as $key=>$value){

      $category = Category::find($key);
      if($category ->products()->exists()){
         $temp[$key] = $value;
      }
  }
  $categories = $temp;

1 个答案:

答案 0 :(得分:0)

您需要检查数据库查询中是否存在关系:

Category::has('products')->defaultOrder()->get()