问题标签 [graphql-php]
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.
php - 如何处理 webonyx/graphql-php 中的自定义错误?
我正在使用 webonyx/graphql-php 创建一些 graphql 查询,并且文档非常不完整,解释了如何在解析查询期间处理自定义错误。例如,如果用户应用程序发送查询以查找某些记录,我想返回一个自定义错误“未找到客户”,而不仅仅是这个丑陋的结构
我读了很多次文档(https://webonyx.github.io/graphql-php/error-handling/),但不明白该怎么做。请问你能帮帮我吗?
谢谢!
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()
方法的正确格式是什么。任何人都可以帮我解决这个问题吗?提前致谢!
laravel - Laravel Lighthouse - 使用 TypeRegistry 以编程方式添加类型。具体如何?
我在文档中尝试这部分没有成功,并且在互联网上没有找到任何好的参考。我想动态添加模式类型,并认为可以通过 GraphQLServiceProvider 中的 typeregistry 添加它们,但是当我尝试在 graphql-playground 中使用该类型时,它显示在模式错误中找不到类型。我注册的类型似乎没有加载到我不知道该怎么做的模式中。
我尝试过的事情:将提供程序添加到我的应用程序配置中。跑“作曲家转储自动加载”清除缓存和配置。
这是我的 GraphQLServiceProvider 代码
这是我的架构
laravel - Laravel Lighthouse - 在 handleBuilder 方法中接收 Eloquent Builder 而不是 Query Builder?
有没有办法在创建自定义时接收实例\Illuminate\Database\Eloquent\Builder
而不是方法?\Illuminate\Database\Query\Builder
handleBuilder
ArgBuilderDirective
看这个例子:
php - GraphQL 错误:方法不允许。必须是以下之一: 选项
我是 GraphQL 的新手。我需要用 PHP 和 GraphQL 制作一个 API。我遵循了本教程: https ://medium.com/swlh/setting-up-graphql-with-php-9baba3f21501
一切正常,但打开 URL 时,出现此错误:
我将此添加到索引页面:
但问题没有解决。也许这里缺少一些东西:
curl - 使用 PHP 和 Curl 绘制 ql
我的身份验证工作正常,我什至在邮递员中测试了我的查询,原因是我似乎错过了我的查询返回
返回
我是图形 ql 的新手,我在这里缺少什么?
php - lighthouse php 使用 eloquent 模型访问器和修改器
我在我的 laravel 应用程序之上使用 lighthouse for graphql。我知道如何定义类型。但是如何在模式的类型定义中使用模型访问器呢?例如,我有这样的类型使用
但是我在数据库表中没有name
列,但我的 eloquent 模型中有一个名称访问器,我想在这种情况下使用它而不是奇怪的列名。有什么方法可以使用模型访问器吗?
laravel-lighthouse - Laravel Lighthouse 在哪里放置非根字段解析器?
在灯塔文档的示例中,他们给出了解析非根字段的示例方法。
所以我的猜测是灯塔会搜索一个 resolveUser{Field} 方法,如果它存在就调用它。但是我在哪里放置方法?示例中没有类名或命名空间。
类型查询 @guard(with: ["api"]) { 我:用户!@auth }
文档网址:
https://lighthouse-php.com/4.9/the-basics/fields.html#resolving-non-root-fields
graphql - GraphQL:具有标量和 InputObjectType 的 UnionType
我有一个存储一些视频游戏的数据库。他们每个人都有三个发布日期:一个在欧洲,另一个在美国,最后一个在日本。
我想允许我的 GraphQL API 的用户根据这些日期搜索游戏。例如,为了获取在欧美发行但在日本未发行的游戏的名称和发行日期,我们可以编写这样的查询:
因此,如果我们要获取所有地区发布的游戏,查询将是这个:
当所有布尔值都具有相同的值时,我想简化查询,以便我们可以编写以下代码:
为了做到这一点,我尝试了字段的这种类型定义has_been_released
(使用graphql-php):
但是当我这样做时,GraphiQL 会抛出这个错误:
错误:自省必须为可能的类型提供对象类型。在 getObjectType (chrome-extension://fkkiamalmpiidkljmicmjfbieiclmeij/dist/chromeiql.js:72489:80) at Array.map () at buildUnionDef (chrome-extension://fkkiamalmpiidkljmicmjfbieiclmeij/dist/chromeiql.js:72566:47) 在 buildType (chrome-extension://fkkiamalmpiidkljmicmjfbieiclmeij/dist/chromeiql.js:725
所以我认为我的类型定义有问题,但我不明白为什么。有任何想法吗?
tl;dr:我想要一个 GraphQL 字段,它可以接受标量值或具有此标量类型的 InputObject 作为字段。甚至可能吗?
提前致谢!
laravel - 如何在 lighthouse-php 中使用 @method 指令正确地提供自定义查询?
我正在使用 Lighthouse 构建一个库存应用程序,并努力掌握使用复杂逻辑按需提供自定义查询的概念。
这是我正在尝试创建的近似查询:
我正在考虑创建一个对象,它有不同的方法来聚集这些对象。我研究了创建自定义类型,就像这样
我注册了提供者但不知道如何查询这个类型?
还是我做错了,有更好的方法吗?
我必须以schema.graphql
某种方式添加它吗?
我可以创建一个自定义查询,但是我必须在__invoke
方法中同时要求所有统计信息,我宁愿按需进行。例如,如果我提出这样的请求
我会调用这两个方法执行。