问题标签 [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.
laravel-lighthouse - 如何创建具有 3 个或更多嵌套关系的突变?
我正在根据我研究过的业务创建一个 ipotetic CRUD。问题是我尝试进行嵌套突变,如灯塔文档中所示, 但在关系中具有三个层次的深度,因为{客户有很多联系人,联系人有很多电子邮件}
我在 schema.graphql 中执行以下操作:
运行突变
输出是
如您所见,未创建电子邮件。有谁知道如何解决?
php - Laravel + Lighthouse (GraphQL) 自定义变异验证
之前我在 Laravel 中使用了纯 graphQL,我没有遇到任何问题,因为整个验证可以在 ../GraphQL/mutations/ 中的文件中完成。然而,我现在已经开始使用灯塔,而且很多事情都做了不同的处理。例如,我有这个突变:
如何在此处添加自己的验证?例如,我希望用户的年龄至少比当年早 10 年。
phpunit - Lighthouse 自动模型检测不适用于单元测试
我似乎面临一个普遍的问题,即指令驱动的突变在单元测试时无法正常工作。使用 GraphQL Playground 一切都按预期工作,并且自动检测到用户模型。但是,如果对相同的功能进行单元测试,它就会失败。
所有配置值都已正确设置(从常规请求中我可以看出没有失败):
并且灯塔配置值也设置为上面的命名空间!
因此,例如这个突变会触发UserPolicy
类,然后自动调用User
类的 create 方法:
但是通过 phpunit 调用相同的请求会导致错误:因为@can
它返回一个未授权的错误,如果我删除@can
它只会更新用户模型的电子邮件字段,就好像没有正确设置批量分配一样。
当我现在将上述架构定义更改为:
它在 phpunit 测试中按预期工作!
现在我怀疑在测试中没有找到用户模型或不合适,但我不明白为什么会这样。
有人有什么主意吗?
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 也行不通。
我该如何解决? 看图片
laravel - 我可以在 config/lighthouse.php 中注册多个模式文件吗
我可以在 config/lighthouse.php 中注册多个模式文件吗
在 config/lighthouse.php
subscription - 什么是 Lighthouse GraphQL 订阅最佳实践
我试图在 2 周内找到 Lighthouse 订阅的最佳实践。
但是直到现在我都找不到最佳实践。
这是我的 shema.graphql
updateHoliday
当我像下面这样查询突变时
我希望从调用 RsvHolidaySub 解析函数@broadcast(subscription: "rsvHolidaySub")
所以我可以这样广播
我不知道这是订阅的最佳做法。但我认为这是非常简单和干净的。
但即使我使用 redis + laravel-echo-server 或 Beyondcode/laravel-websockets 安装了 websocket,也不会调用 resolve 函数。
所以我怀疑这是否可能。
我真的很想知道 Lighthouse 订阅的最佳实践。请分享你的知识。
laravel - 我应该如何设置删除订阅的架构?
我试过了
我创建了一个订阅,其中方法authorize
和filter
返回true
。
但我得到这个错误:
Illuminate\Database\Eloquent\ModelNotFoundException: 没有模型 [App\User] 的查询结果
deleteUser
突变有效。只有订阅不起作用。我使用Pusher进行广播,错误出现在Horizon仪表板中。
php - 所以作曲家需要 rebing/graphql-laravel 失败
我在尝试通过composer安装rebing/graphql-laravel 时遇到以下问题:
有谁知道如何解决这个问题?我需要这个包来制作这个查询解析器:
我不知道还有其他方法可以解决这个问题。我需要做一个查询解析器来做一些特定的查询。谢谢!
在尝试了一种建议的解决方案后:
重新运行安装命令:
它失败了!
laravel-5.7 - 在 Router.php 第 366 行:传递给 Illuminate\Routing\Router::group() 的参数 1 必须是数组类型,
我已经更新了Laravel,现在我的应用程序没有运行。v5.7
v5.8
因为这个问题,我更新了它:composer require rebing/graphql-laravel failed
我解决了包不兼容的问题,但现在 Laravel 崩溃了:
我怀疑 Laravel 的团队改变了这种方法的坚定:
照亮\路由\Router.php
这是我的composer.json文件的当前内容:
我认为问题可能出在这个文件中: app/Providers/RouteServiceProvider.php
不知道现在group()
方法的正确格式是什么。任何人都可以帮我解决这个问题吗?提前致谢!