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

问题描述 投票:0回答:1

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

代码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;
php laravel laravel-5 nested-sets
1个回答
0
投票

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

Category::has('products')->defaultOrder()->get()
© www.soinside.com 2019 - 2024. All rights reserved.