使用子类别laravel获取当前类别

使用子类别laravel获取当前类别,laravel,laravel-5,eloquent,Laravel,Laravel 5,Eloquent,我通过以下关系获得儿童类别: 类别模型: 类别控制员: 我得到了父类别的子类别和产品,但是出现了一个场景,我没有子类别,我在用户单击的主类别中有产品,所以在这种情况下,我还需要用户单击的类别及其关联产品 输出: 不存在子类别 存在子类别 您是否计划在函数($query)中使用$categorySlug执行任何操作?现在你什么都没做,所以你的with()可以用(['children','children.products'])重写为->没有$categorySlug会在与category slu

我通过以下关系获得儿童类别:

类别模型:

类别控制员:

我得到了父类别的子类别和产品,但是出现了一个场景,我没有子类别,我在用户单击的主类别中有产品,所以在这种情况下,我还需要用户单击的类别及其关联产品

输出:

不存在子类别

存在子类别


您是否计划在
函数($query)
中使用
$categorySlug
执行任何操作?现在你什么都没做,所以你的
with()
可以用(['children','children.products'])重写为
->
没有$categorySlug会在与category slug匹配的外部使用,但是从这段代码中我得到了children categories,我想要我单击的类别本身,假设我正在点击top wear,它包含t恤和牛仔裤,但在某些情况下,top wear中没有子类别,但它包含产品,因此我希望实现这一点,它将是
category::with(['products','children','children.products')->where('slug',$categorySlug)->get()我添加了两种情况的输出,第一种情况是不存在子类别,第二种情况是存在子类别。输出的结构不同,在第一种情况下有一个product数组,但在第二种情况下product数组为空,我必须遍历子类别数组,所以缺点是我必须放置两个视图或某种条件,那么,我是否可以得到相同的结构。您是否打算在您的
函数($query)
中使用
$categorySlug
执行任何操作?现在你什么都没做,所以你的
with()
可以用(['children','children.products'])重写为
->
没有$categorySlug会在与category slug匹配的外部使用,但是从这段代码中我得到了children categories,我想要我单击的类别本身,假设我正在点击top wear,它包含t恤和牛仔裤,但在某些情况下,top wear中没有子类别,但它包含产品,因此我希望实现这一点,它将是
category::with(['products','children','children.products')->where('slug',$categorySlug)->get()我添加了两种情况的输出,第一种情况是不存在子类别,第二种情况是存在子类别。输出的结构不同,在第一种情况下有一个product数组,但在第二种情况下product数组为空,我必须遍历子类别数组,所以缺点是我必须放置两个视图或某种条件,所以无论如何我都可以得到相同的结构。
 public function childrenProdut()
    {
        return $this->hasMany(Category::class, 'parent_id');
    }

    public function products()
    {
    return $this->belongsToMany(Product::class, 'product_categories', 'category_id', 'product_id');
    }
$productsLists = Category::with(['children' => function($query) use
 ($categorySlug) {
         $query->with('products');
     }])->where('slug',$categorySlug)->get();

     return $productsLists;