如何过滤急切加载的 class?
How do I filter the eager loaded class?
我有一个类别 class,我正在调用 class 中的所有事件并进行预加载。但是我只想显示已批准的事件。我在 Laravel.
中使用显示控制器
我已经能够使用 wherehas() 过滤类别 class,但我不知道如何过滤预加载事件的结果 class。
public function show(Category $category)
{
$cat = $category->with('events')->get();
return $cat;
return view('category.show', compact('cat'));
}
就像我说的那样,我已经能够过滤类别,但我如何通过类别发送已批准 = 1 而不是空的事件?
您可以将回调传递给筛选查询的 with 函数。
$cat = $category->with(['events' => function ($q) {
$q->where('approved', 1);
}]
)->get();
我有一个类别 class,我正在调用 class 中的所有事件并进行预加载。但是我只想显示已批准的事件。我在 Laravel.
中使用显示控制器我已经能够使用 wherehas() 过滤类别 class,但我不知道如何过滤预加载事件的结果 class。
public function show(Category $category)
{
$cat = $category->with('events')->get();
return $cat;
return view('category.show', compact('cat'));
}
就像我说的那样,我已经能够过滤类别,但我如何通过类别发送已批准 = 1 而不是空的事件?
您可以将回调传递给筛选查询的 with 函数。
$cat = $category->with(['events' => function ($q) {
$q->where('approved', 1);
}]
)->get();