我使用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;
答案 0 :(得分:0)
您需要检查数据库查询中是否存在关系:
Category::has('products')->defaultOrder()->get()