问题标签 [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 回答
1296 浏览

subscription - Laravel Lighthouse,订阅时如何获取所有数组数据?

我使用 laravel + Lighthouse + Laravel WebSockets + vue-apollo 技术进行订阅。

当我订阅时,我想获取所有数组数据,但我只得到了更改的数据。

我的 schema.graphql 在下面。

这是我的 vue-apollo 代码

当我像下面那样进行突变时。

vue-apollo 像图片一样获得订阅。

在此处输入图像描述

我承认返回只是改变了值而不是所有数据。所以我改变了订阅模式,如下所示。

我还更改了 vue-apollo 代码。

当我在 npm run dev 和 websocket 启动后进行突变时,我收到了这个错误。

在此处输入图像描述

但我已经做了 testSub。

php artisan 灯塔:订阅 testSub

这是我的 testSub 文件。

如何获取所有数组数据而不是更改的数据?

0 投票
2 回答
463 浏览

laravel - 雄辩的基于团队的角色

我有 3 个表:角色、团队、用户,每个表之间都有一个数据透视表:role_team、role_user、team_user。

我很难利用 Eloquent 仅返回用户在特定团队中拥有的角色。

虽然可以$user->roles()->where('team_id', $team->id)->get(),但我想将其指定为关系。我尝试设置 a hasManyThrough,但在这种特定情况下似乎不起作用。

需要将其用作关系而不是查询是因为我将 Lighthouse PHP 用于 GraphQL,并且希望能够轻松地查询以下角色:

任何利用 Eloquent 来实现这一点的帮助将不胜感激。

0 投票
1 回答
485 浏览

graphql - 为什么 Laravel Lighthouse @rename 指令对我不起作用?

我有这个 GraphQL 查询:

对于最佳实践,我想在这里使用 camelcase,但在我的数据库中使用 snake_case。该表如下所示:

我使用Lighthouse 的 @rename 指令在大小写之间进行转换。然而,在运行查询时,在提交我的查询时,部分代码似乎无法识别项目 ID,从而导致以下 SQL 错误:

发送的变量是

这就是我的 schema.graphql 的外观,在 Budget 类型上使用 @rename 指令:

我一定忽略了一些简单的事情,但我似乎无法发现它。有人想试一试吗?

0 投票
1 回答
760 浏览

laravel-lighthouse - 如何在 Laravel Lighthouse 中插入多个相同突变的数据?

我可以在同一个突变上插入多个吗?

我想知道这是否存在。

这是我的架构

这是我的突变查询

0 投票
1 回答
943 浏览

laravel - 如何在 Laravel+lighthouse graphql 中实现高级验证规则?

在切换到 Lighthouse 之前,我曾经有这样的验证规则:

site_id因此,在检查用户名是否唯一之前,我需要选择具有一定的用户。现在我有以下突变:

但是我应该如何提供site_idsite_id应该被视为只读属性)以及如何在我的自定义验证规则中访问它UniqueUserName

0 投票
1 回答
1233 浏览

laravel-lighthouse - Laravel Lighthouse 的全局中间件

我想在我的所有查询和突变中添加类似的内容

有没有办法在全球范围内运行中间件?

我可以将它添加到$middleware变量中,Http\Kernal.php但是我的中间件不会响应所需的查询设置为null,这会引发不同的错误。

0 投票
1 回答
700 浏览

lumen - 接受对象的自定义过滤器 - lighthouse-php



我在微服务架构中使用 lighthouse-php 作为 Api Gateway。
因此,对于我所有的类型,我都会通过 Guzzle 在内部提出请求。
但我需要实现适用于任何类型的过滤器,并在进行查询时提供灵活性。

我需要实现这样的查询:

但我不知道如何实现这个接收复合对象的“where”过滤器,如本例所示。

请记住,此查询不会使用 lumen 内的任何模型,因为它将是一个自定义查询,它将向新闻微服务发出请求。我需要的是我的查询接收来自何处、限制和顺序的任何内容的方式,以便根据请求发送它。但我不知道如何在方案中构建这样的东西。

有人知道怎么做吗?
谢谢朋友。

0 投票
1 回答
213 浏览

laravel-lighthouse - 灯塔嵌套删除突变不起作用

我试图嵌套删除突变。但它不起作用。

但我不知道为什么它不起作用。

我有桌子A and B

一个数据A可以有很多数据B

所以在A模型内部,我写了如下关系。

这不是真实的,而是我的架构的缩写版本。

我首先使用如下邮递员。

在此处输入图像描述

删除表A中id为35的数据。但是表b数据没有被删除。

即使我改变了架构和数据,如下所示。结果是一样的。b 数据不被删除

在此处输入图像描述

我做错什么了..??

0 投票
1 回答
1154 浏览

php - Graphql 自定义类型定义 Laravel Lighthouse 给出关于缺少子类的错误

我为自定义电子邮件类型复制了 Lighthouse 网站链接到 ( https://webonyx.github.io/graphql-php/type-system/scalar-types/ ) 的示例。(见下面的代码)

不幸的是,如果我现在转到 graphql-playground,我会收到 500 错误,说明:“没有为标量电子邮件找到 GraphQL\Type\Definition\ScalarType 的匹配子类”

我该如何解决这个错误?

0 投票
2 回答
1317 浏览

laravel - 基于相关模型的 Laravel Lighthouse GraphQL 验证

使用 Laravel Lighthouse GraphQL,我想验证一个模型中的值,以便它始终与相关模型中的值匹配。

在这种情况下 aProgram有 ayear_id并且 aCategory也有 a year_id。我想验证 theProgramCategoryuse 相同year_id

GraphQL Schema 如下所示:

现在,如果我创建一个Categoryyear_id: 1返回类别 id=1):

然后尝试创建一个Programyear_id: 2新的相关的Category

我希望验证失败,并显示“您不能在不同年份创建程序,因为它是类别!”这样的消息。

到目前为止,我找不到基于另一个模型中的任何值进行验证的方法。我怎样才能做到这一点?