问题标签 [laravel-lighthouse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
259 浏览

laravel - Laravel lighthouse / graphQL - 在嵌套查询中调用时将模型列表限制为用户可以访问的模型

我的系统有属于用户的案例。用户是部门的一部分。设置是用户可以访问属于与用户在同一部门的用户的所有案例。

问题是:如果我是 UserX 并且我是 DepartmentA 的一部分,并且还有属于同一部门的 UserY,还有 DepartmentB,以及仅属于 DepartmentB 的第三个 UserZ。像这样的查询允许 UserX 通过 UserY 访问 UserZ 案例:

所以我的问题是,我如何控制用户访问以仅返回他们有权访问的案例,无论在什么“上下文”中请求案例。我在 RESTful API 中要做的就是获取一个列表用户可以访问的允许 ID 并通过它进行过滤,但我不确定这是否是在 graphql 解决方案中处理的正确方法。

我真的希望我的问题有意义,并感谢您阅读它。

0 投票
1 回答
320 浏览

laravel - 扩展灯塔指令

我想从灯塔库扩展指令@modelClass。我正在研究模块化架构,但我没有 Eloquent 模型,我有几个,而且我正在扩展我的第一个模型版本,这就是为什么我使用接口来绑定我需要的最后一个模型。我需要做的是使用接口而不是模型类来解析我的类型对象。

使用指令 @modelClass 应该如下所示:

因为我有这个绑定:

我应该有类似的东西:

但我不能覆盖或扩展 @modelClass 指令。

0 投票
1 回答
227 浏览

laravel - 带有 LARAVEL Lighthouse PHP 的 GraphQL - 如何隐藏属性?

标题说明了一切。

如果我有这样的事情:

并且只有特定用户才能访问该ID字段。我该怎么做?

如果特定用户只能访问Model > relationship数据,则同样如此。如何根据用户能力隐藏属性?

0 投票
1 回答
4498 浏览

php - 无法声明类,因为该名称已在使用中

我正在尝试从我的 GraphQL 获取数据,但它返回此错误:

AcceptBooking.php

如果我将类的名称更改为随机名称,它再次表示我给它的新名称正在使用中。

在我的 schema.graphql

我在 Laravel 项目中使用 Lighthouse-php。

0 投票
1 回答
955 浏览

laravel-lighthouse - Pagination with custom field resolver directive

What I am trying to achieve is the following: I want a query that searches a model, this query can be complex and thus needs a separate resolver or some place where I can put my logic.

What goes wrong: This is my query

This is my resolver

The output now is just a list of 25 items with no info on pagination. When I try to add the @paginate directive I get the following error

How can I add my custom logic but still have the pagination?

0 投票
1 回答
704 浏览

laravel-lighthouse - Laravel Lighthouse 模式验证问题未定义标量混合

我正在尝试验证模式,但遇到了一个非常陌生的错误。当我尝试运行 PHP artisan lighthouse:validate-schema 命令时会发生这种情况。

在此之前,我完全没有遇到过这个问题。事实上,我昨天刚刚安装了这个包,然后它就可以工作了。请注意,这不是基本的灯塔包,我确实定义了架构

这是完整的堆栈跟踪。

但是它说No matching subclass of GraphQL\\Type\\Definition\\ScalarType of finding for the scalar Mixed,我已经验证我从未声明任何标量类型“混合”

0 投票
1 回答
2253 浏览

laravel - 使用 Laravel Lighthouse 在 Laravel 7 中出现 CORS 错误

我有一个用 Laravel 和 Lighthouse-php(用于 GraphQL)构建的 API。我的客户端是用 Vue js 构建的,并使用 Apollo 进行 graphQL 客户端实现。每当我提出请求时,我都会收到以下错误:

自然地,我继续安装 laravel-cors 包,但后来我意识到它是默认安装在我的 Laravel 安装(7.2.2)中的。这意味着它\Fruitcake\Cors\HandleCors::class已经添加到中间件数组中Kernel.php,并且 cors 配置文件已经在我的配置目录中。

经过一番谷歌搜索,我意识到我需要添加\Fruitcake\Cors\HandleCors::class到我的文件中的route.middleware数组config/lighthouse.php

它仍然没有工作。我已经重新启动服务器,清除缓存,清除配置并运行,composer dump-autoload但我仍然得到错误。我不知道如何克服这一点。任何帮助将不胜感激。

版本

Laravel 7.2.2

Laravel 灯塔 4.10

0 投票
0 回答
50 浏览

graphql - GraphQL 更新多个状态

对于我的项目,我需要更新当前状态为 1 的所有帖子的状态。

我一直在尝试找到一种方法来创建基于条件的突变,或者甚至在一个请求中放置多个突变(尽管这样做的缺点是我需要提前获得所有状态 = 1 的帖子的 ID。

除了单独改变每个项目之外似乎找不到任何解决方案,这对我来说似乎效率极低。

0 投票
1 回答
141 浏览

graphql - 灯塔嵌套突变 FK 字段未填充

我在用 Lighthouse 处理嵌套突变时遇到了一些问题。

我有两个相关的模型:Ams\AccounthasMany Ams\Contact。这是Ams\Contact模型:

我的 GraphQL 架构文件如下所示:

当我尝试在操场上运行以下突变时:

我收到有关以下错误消息的错误:

我已经尝试了一些来自网络的修复和建议,据我所知,我的架构遵循文档中定义的格式,但我无法理解为什么它不起作用。

我还确认该帐户的简单突变可以正常工作。当我尝试与联系人同时创建新帐户时,我也会收到类似的错误消息。

我的倾向是它与不同模型的名称空间有关,但我无法想象我是第一个有这个要求的人,我也找不到任何关于如何克服这个问题的参考资料。

任何和所有的帮助将不胜感激。

0 投票
0 回答
96 浏览

laravel - GraphQL ID 类型更正 - 如何使用 String?

我有一个具有唯一 ID 的模型,例如d192a9be-c1f8-4099-8e88-7333ca07866d 当使用 graphql 查询时,结果id: "0"看起来像是在尝试转换为Int.

如何使用字符串唯一 ID?