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

laravel-lighthouse - 如何创建具有 3 个或更多嵌套关系的突变?

我正在根据我研究过的业务创建一个 ipotetic CRUD。问题是我尝试进行嵌套突变,如灯塔文档中所示, 但在关系中具有三个层次的深度,因为{客户有很多联系人,联系人有很多电子邮件}

我在 schema.graphql 中执行以下操作:

运行突变

输出是

如您所见,未创建电子邮件。有谁知道如何解决?

0 投票
0 回答
84 浏览

php - 如何捕获验证消息?

我对字段验证进行了一些测试。我如何断言响应错误消息?这是我的简单测试

这是我在突变领域的规则

这是错误树

在此处输入图像描述

0 投票
1 回答
1310 浏览

php - Laravel + Lighthouse (GraphQL) 自定义变异验证

之前我在 Laravel 中使用了纯 graphQL,我没有遇到任何问题,因为整个验证可以在 ../GraphQL/mutations/ 中的文件中完成。然而,我现在已经开始使用灯塔,而且很多事情都做了不同的处理。例如,我有这个突变:

如何在此处添加自己的验证?例如,我希望用户的年龄至少比当年早 10 年。

0 投票
0 回答
98 浏览

phpunit - Lighthouse 自动模型检测不适用于单元测试

我似乎面临一个普遍的问题,即指令驱动的突变在单元测试时无法正常工作。使用 GraphQL Playground 一切都按预期工作,并且自动检测到用户模型。但是,如果对相同的功能进行单元测试,它就会失败。

所有配置值都已正确设置(从常规请求中我可以看出没有失败):

并且灯塔配置值也设置为上面的命名空间!

因此,例如这个突变会触发UserPolicy类,然后自动调用User类的 create 方法:

但是通过 phpunit 调用相同的请求会导致错误:因为@can它返回一个未授权的错误,如果我删除@can它只会更新用户模型的电子邮件字段,就好像没有正确设置批量分配一样。

当我现在将上述架构定义更改为:

它在 phpunit 测试中按预期工作!

现在我怀疑在测试中没有找到用户模型或不合适,但我不明白为什么会这样。

有人有什么主意吗?

0 投票
1 回答
422 浏览

laravel - 如何在不使用公用文件夹和 php artisan 的情况下在 laravel graphql-playground 中加载 schema.graphql

我正在开发一个基于 graphql 的 laravel 应用程序并为此目的使用 Lighthouse。现在我必须通过 localhost/blog/graphql-playground 访问游乐场(不使用 artisan 或每次都写 public),为此我已将“public”文件夹的内容复制到 index 文件夹中。包括 graphql-playground 在内的每个控制器似乎都可以工作,但 Playground 无法获取放置在根目录的 graphql 文件夹(localhost/blog/graphql)中的 schema.graphql,并出现错误“无法访问服务器”。但如果我给 URL localhost/blog/public/graphql 它会工作。我浏览了所有可能的文件,无法更改文件设置。我尝试删除公用文件夹的内容。在那之后,即使 /public 也行不通。

我该如何解决? 看图片

0 投票
2 回答
1399 浏览

laravel - 我可以在 config/lighthouse.php 中注册多个模式文件吗

我可以在 config/lighthouse.php 中注册多个模式文件吗

在 config/lighthouse.php

0 投票
1 回答
627 浏览

subscription - 什么是 Lighthouse GraphQL 订阅最佳实践

我试图在 2 周内找到 Lighthouse 订阅的最佳实践。

但是直到现在我都找不到最佳实践。

这是我的 shema.graphql

updateHoliday当我像下面这样查询突变时

在此处输入图像描述

我希望从调用 RsvHolidaySub 解析函数@broadcast(subscription: "rsvHolidaySub")

所以我可以这样广播

我不知道这是订阅的最佳做法。但我认为这是非常简单和干净的。

但即使我使用 redis + laravel-echo-server 或 Beyondcode/laravel-websockets 安装了 websocket,也不会调用 resolve 函数。

所以我怀疑这是否可能。

我真的很想知道 Lighthouse 订阅的最佳实践。请分享你的知识。

0 投票
2 回答
208 浏览

laravel - 我应该如何设置删除订阅的架构?

我试过了

我创建了一个订阅,其中方法authorizefilter返回true

但我得到这个错误:

Illuminate\Database\Eloquent\ModelNotFoundException: 没有模型 [App\User] 的查询结果

deleteUser突变有效。只有订阅不起作用。我使用Pusher进行广播,错误出现在Horizo​​n仪表板中。

0 投票
1 回答
883 浏览

php - 所以作曲家需要 rebing/graphql-laravel 失败

我在尝试通过composer安装rebing/graphql-laravel 时遇到以下问题:

有谁知道如何解决这个问题?我需要这个包来制作这个查询解析器:

我不知道还有其他方法可以解决这个问题。我需要做一个查询解析器来做一些特定的查询。谢谢!

在尝试了一种建议的解决方案后:

重新运行安装命令:

它失败了!

0 投票
2 回答
6967 浏览

laravel-5.7 - 在 Router.php 第 366 行:传递给 Illuminate\Routing\Router::group() 的参数 1 必须是数组类型,

我已经更新了Laravel,现在我的应用程序没有运行。v5.7v5.8

因为这个问题,我更新了它:composer require rebing/graphql-laravel failed

我解决了包不兼容的问题,但现在 Laravel 崩溃了:

我怀疑 Laravel 的团队改变了这种方法的坚定:

照亮\路由\Router.php

这是我的composer.json文件的当前内容:

我认为问题可能出在这个文件中: app/Providers/RouteServiceProvider.php

不知道现在group()方法的正确格式是什么。任何人都可以帮我解决这个问题吗?提前致谢!