Back to Main Site

挂钩: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;
});

相关挂钩