You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel Lighthouse中无需自定义resolver为新增记录赋值user_id

你可以使用 Lighthouse 内置的@inject指令实现需求,全程无需编写自定义 resolver,也不会暴露权限风险:

type Mutation {
  createPost(title: String!): Post 
    @guard
    @create
    @inject(context: "user.id", name: "user_id")
}

各指令作用说明:

  • @guard 指令会先校验当前请求是否已通过 Laravel 认证,未登录的请求会直接被拦截,避免出现user_id为空的情况,如果你的全局 schema 已经默认配置了auth guard,也可以省略该指令
  • @inject 指令会从请求上下文中取出当前登录用户的ID,直接赋值给待创建的Post模型的user_id字段,整个过程完全在服务端完成,客户端没有任何可篡改user_id的入口,从根源上避免了越权操作的风险

内容的提问来源于stack exchange,提问作者Daniel Loureiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:36:08