laravel - 如何过滤急切加载的类?
问题描述
我有一个类别类,我正在调用该类中的所有事件并进行预加载。但是,我只想显示已批准的事件。我在 Laravel 中使用了一个显示控制器。
我已经能够使用 wherehas() 过滤类别类,但我不知道如何过滤急切加载的事件类的结果。
public function show(Category $category)
{
$cat = $category->with('events')->get();
return $cat;
return view('category.show', compact('cat'));
}
就像我说的,我已经能够过滤类别,但是如何通过类别发送已批准 = 1 而不是 null 的事件?
解决方案
您可以将回调传递给过滤查询的 with 函数。
$cat = $category->with(['events' => function ($q) {
$q->where('approved', 1);
}]
)->get();
推荐阅读
- laravel - 如何在 laravel 8 mail::send 中即时指定
- angular - 如何从 Angular 的订阅中重新加载信息?
- python - 如何在python中将大小为N的numpy列数组乘以大小为N的行数组以获得NXN矩阵?
- php - 在 Laravel/PHP 中将多项选择转换为数组,返回 Err:Array 到字符串转换
- loops - 如何展平传递的参数以重复出现?
- prolog - Tic-Tac-Toe Prolog 游戏搜索中的表格
- javascript - 映射并返回一个新对象,而不是递归删除现有数据
- reactjs - 从 react-redux 向后端 API 发送请求
- javascript - 活动资源 - 由 Google 日历“获取”方法返回 - 不返回活动的参加者
- r - updateMatrixInput 在 R 闪亮的观察循环中不起作用