如何隐藏 laravel 中的空类别

How to hide empty categories in laravel

大家好,我已经开始使用 Laravel、

构建我的第一个项目

我已经完成了 Laracast 的速成课程,学习了 hasMany 和 belongTo 但是我被困在我有类别但没有任何产品的地方。我没有任何子类别我只想显示有一些产品的类别并隐藏空的类别

到目前为止,我得到的类别是这样的

$stocksCats     =   stockscat::isLive()->where('status', '=', 1);

我的股票 class 看起来像这样

<?php

namespace App;

//use Illuminate\Database\Eloquent\Model;

class stock extends Model
{

public function scopeisLive($query) // With Scope
{

    return $query->get();

}

public function stockcat()
{

    return $this->belongsTo(stockscat::class);

}

public function stockgallery()
{

    return $this->hasmany(stockgallery::class);

}

}

我的股票猫 class 看起来像这样

<?php

namespace App;

// use Illuminate\Database\Eloquent\Model;

class stockscat extends Model
{

public function scopeisLive($query) // With Scope
{

    return $query->get();

}

public function stocks()
{

    return $this->hasmany(stock::class);

}

}

Laravel 提供 a has() method (See docs) 检查 eloquent 是否有关系。以下代码片段应该是解决方案:

$stocksCats = stockscat::isLive()->has('stocks')->where('status', '=', 1);