挂钩:post.query.builder
Last updated on Jun 24, 2026 02:51
## 概述
类型: 过滤器
位置: app/Http/Controllers/Api/V1/PostController.php
修改帖子列表的 Eloquent 查询构建器。使用它来添加自定义范围、联接或 where 子句以从模块发布查询。
## 参数
| 参数 | 类型 | 描述 |
|---|---|---|
$query |
Builder | Eloquent 查询生成器实例 |
$request |
Request | HTTP 请求对象 |
## 返回
必须返回修改后的“Builder”实例。
使用示例
从公开列表中排除标记为“内部”的帖子:
Hook::addFilter('post.query.builder', function ($query, $request) {
if (!$request->user()?->hasRole('admin')) {
$query->whereDoesntHave('tags', fn($q) => $q->where('slug', 'internal'));
}
return $query;
});
相关挂钩
- product.query.builder - 产品的相同模式