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

laravel - 嵌套突变似乎在 Lighthouse 3.7 中不起作用

我正在尝试在 Lighthouse 3.7/Laravel 5.8 中设置模式我想要实现的是:用户应该能够创建 Clist。User 和 Clist 之间存在一对多关系。而且我正在尝试按照此处所述实现嵌套突变。

我已经实现了“查询”部分,它工作正常。但是当我在 GraphQL Playground 中测试 createClist 突变时,我得到了这个错误:

而且我无法弄清楚我做错了什么。

这是我的代码:

这是 GraphQL Playground 的截图:

在此处输入图像描述

0 投票
1 回答
2798 浏览

php - Laravel Lighthouse GraphQL - 在服务器端排序

嗨,我是 GraphQL 的新手,我正在尝试根据列内容对数据进行排序。我有一个可以发送的查询端点:

结果是一个包含 20 个用户名的数组Foo。但我想订购它们birthDate。我已经尝试了很多东西,但我就是想不通。我已经尝试在 firstName 之前sortorderBy之后,但我总是收到错误,例如:

我正在使用 Laravel Lighthouse 作为 GraphQL 的 wapper。我很惊讶我找不到有关如何执行此操作的任何信息。

我的查询:

0 投票
1 回答
2944 浏览

php - 使用内容模拟上传的文件

我正在开发一个使用 GraphQL 和 Lighthouse 作为后端 API 的 Laravel 项目。对于某些端点,我们支持文件上传。我们已经成功地测试了这一点。

我们现在正在创建的新端点也将支持文件上传。但是,我们不能仅仅将文件存储在我们的服务器上,我们必须读取这个文件的内容并根据这个内容做一些事情。

当然,我们想测试这个新功能。但要做到这一点。我们必须模拟一个具有特定内容的上传文件来测试它。我能找到的只是一个UploadedFile::fake()为你创建一个随机/空文件的假方法。

我知道我可以为此创建单元测试。但我真的很想添加一个端到端的测试。

官方的灯塔文档有以下代码示例:

我需要用我自己创建的模拟替换那个上传的文件。也许是这样的:

有什么内置方法可以设置假上传文件的内容吗?或者有什么方法可以用我自己的工厂逻辑扩展类?

0 投票
1 回答
1401 浏览

laravel - 如何使用 Lighthouse 在 Laravel 5.8 中使用字段值过滤 Graphql 查询

我有可以创建列表的用户。列表可以加星标(如果您愿意,可以选择“精选”)。我想在 Lighthouse/Laravel 中构建一个 Graphql 查询,该查询将检索给定用户的所有加星标/精选列表。

我尝试了这个查询并且它有效:

然后我可以这样使用它:

但这对我来说就像一个肮脏的黑客。

我想要实现的是:

关于如何实施它的任何想法?

0 投票
2 回答
2062 浏览

php - Lighthouse graphql 订阅

谁能告诉我如何使用 lighthouse graphql 订阅,我按照这里https://lighthouse-php.com/3.1/extensions/subscriptions.html的说明完成了所有步骤,但是当移动团队(android 和 ios)尝试使用它时,它要求他们输入 websocket 端点,所以我如何使用 graphql lighthouse 订阅制作这个 websocket,我一般都知道 laravel websocket,但是如何将这个 websockets 与 graphql lighthouse 订阅连接?

0 投票
1 回答
1000 浏览

php - 如何在 GraphQL 中拥有一个数组类型的字段?

我需要在我的突变中的一个字段中输入多个 ID。我怎样才能实现看到数组不包含在标量类型中。我正在使用 Laravellighthouse包。

我试图用来[]传递 ID 但不工作。

我希望在我的解析方法中以数组的形式访问权限(在本例中为 ID)。

0 投票
2 回答
1213 浏览

laravel - 使用订阅时,laravel-graphql-playground 无法连接到 UI 中的 websocket

我目前使用 Lighthouse 作为 laravel 的 graphql 服务器。我已经阅读了他们网站上的订阅文档(https://lighthouse-php.com/master/subscriptions/getting-started.html),并将适当的推送器凭据添加到 .env 文件中。

尝试通过 graphql-playground UI 订阅时,出现以下错误:

订阅:

错误:

所有突变和查询都在正常工作。

我已经覆盖了 laravel-graphql-playground laravel 的 index.blade.php 文件,并且可以向该文件添加一个“subscriptionEndpoint”变量,但不清楚该变量应该包含什么。

由于我通过推送器连接,有谁知道“subscriptionEndpoint”变量中应该包含什么?

0 投票
1 回答
2655 浏览

laravel - 无法访问 GraphQL 服务器状态码 500

尝试使用 GraphQL Playground 时,似乎引用了缓存版本的 schema.graphql。因此,我继续运行php artisan cache:clear,导致“无法访问服务器”和“错误”错误:“响应不成功:收到状态代码 500”。

我尝试运行php artisan cache:config,但这并没有解决问题。

我希望能够连接,但它似乎不想连接。在运行之前连接不是问题php artisan cache:clear,只是任何编写查询的尝试似乎都引用了旧的 schema.graphql,这不是预期的。

0 投票
1 回答
1103 浏览

php - Laravel 和 Lighthouse,它总是读取默认模式

我正在关注 Lighthouse 网站上的主版本(4.1)教程。

https://lighthouse-php.com/4.1/getting-started/tutorial.html#installation

我重新安装了 Laravel 5.8,然后执行教程中编写的命令(旁边npm install

composer require nuwave/lighthouse mll-lab/laravel-graphql-playground

php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider"

php artisan vendor:publish --provider="MLL\GraphQLPlayground\GraphQLPlaygroundServiceProvider"

之后/graphql/schema.graphql创建一个文件(在项目根目录下,而不是在routes以前版本的文件夹下)。

现在我用一些数据填充数据库,然后将模式从教程页面复制/粘贴到已发布的模式,启动服务器,然后访问显示发送请求的正确 url 的游乐场http://127.0.0.1:8000/graphql

单击Schema选项卡时,我总是看到默认架构,而不是在 中发布的架构/graphql/schema.graphql,当然,对不同于用户的资源的查询会失败,并出现类似的错误Cannot query field "posts" on type "Query".。我已经尝试重新启动服务器并刷新 Playground 页面。

config/lighthouse.php文件中,模式注册到base_path('graphql/schema.graphql')看起来正确的路径。

为什么 Playground 总是显示默认架构而不是已发布和编辑的架构?

我正在使用 PHP 7.2.14,而 Lighthouse 需要 PHP>7.1

0 投票
1 回答
289 浏览

laravel - GraphQL Where Select 子查询

这些天,我研究GraphQLLaravel框架,灯塔图书馆。我试过做那种SELECT Query

结果,我不知道 GraphQL 可以选择下面的 SQL Query

我希望,客户端首先从这个查询中得到结果。

然后做第二个查询,我想我可以得到一个结果。

但我想知道我能从 1 个请求中得到结果。谢谢。