Php laravel:如何检查每个类别中的项目可用性?

Php laravel:如何检查每个类别中的项目可用性?,php,laravel,laravel-5,nested-sets,Php,Laravel,Laravel 5,Nested Sets,我使用并可以使用以下代码获取所有类别及其子类别: 代码1: $categories = $this->traverse(Category::defaultOrder()->get()->toTree(), null); 用于检查每个类别中的产品可用性, 我使用以下代码: 代码2: if($category ->products()->exists()) {...} 我能把这两种代码合并起来吗 我想要代码1,只返回包含产品的类别 目前,我使用以下代码: 代码3:

我使用并可以使用以下代码获取所有类别及其子类别:

代码1:

$categories = $this->traverse(Category::defaultOrder()->get()->toTree(), null);
用于检查每个类别中的产品可用性, 我使用以下代码:

代码2:

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;

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

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

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

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