【问题标题】:laravel: how to check item availability in each category?laravel:如何检查每个类别中的项目可用性?
【发布时间】:2019-08-02 00:17:54
【问题描述】:

我使用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】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-04-26
      • 1970-01-01
      • 2020-04-13
      • 2018-01-16
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 2010-11-29
      相关资源
      最近更新 更多