如何过滤预先加载的课程?

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

我有一个类别类,我正在通过急切加载调用该类中的所有事件。但是我只想展示已经批准的事件。我在Laravel中使用了一个节目控制器。

我已经能够使用wherehas()过滤类别类,但我无法弄清楚如何过滤预先加载的事件类的结果。

public function show(Category $category)
    {  
        $cat = $category->with('events')->get();

        return $cat;

        return view('category.show', compact('cat'));
    }

就像我说的那样,我已经能够过滤类别,但是如何通过已批准= 1而不是null的事件通过类别发送?

laravel controller eager-loading
1个回答
0
投票

您可以将回调传递给过滤查询的with函数。

$cat = $category->with(['events' => function ($q) {
       $q->where('approved', 1);
    }]
)->get();

© www.soinside.com 2019 - 2024. All rights reserved.