问题标签 [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.
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 文件。
如何获取所有数组数据而不是更改的数据?
laravel - 雄辩的基于团队的角色
我有 3 个表:角色、团队、用户,每个表之间都有一个数据透视表:role_team、role_user、team_user。
我很难利用 Eloquent 仅返回用户在特定团队中拥有的角色。
虽然可以$user->roles()->where('team_id', $team->id)->get()
,但我想将其指定为关系。我尝试设置 a hasManyThrough
,但在这种特定情况下似乎不起作用。
需要将其用作关系而不是查询是因为我将 Lighthouse PHP 用于 GraphQL,并且希望能够轻松地查询以下角色:
任何利用 Eloquent 来实现这一点的帮助将不胜感激。
graphql - 为什么 Laravel Lighthouse @rename 指令对我不起作用?
我有这个 GraphQL 查询:
对于最佳实践,我想在这里使用 camelcase,但在我的数据库中使用 snake_case。该表如下所示:
我使用Lighthouse 的 @rename 指令在大小写之间进行转换。然而,在运行查询时,在提交我的查询时,部分代码似乎无法识别项目 ID,从而导致以下 SQL 错误:
发送的变量是
这就是我的 schema.graphql 的外观,在 Budget 类型上使用 @rename 指令:
我一定忽略了一些简单的事情,但我似乎无法发现它。有人想试一试吗?
laravel-lighthouse - 如何在 Laravel Lighthouse 中插入多个相同突变的数据?
我可以在同一个突变上插入多个吗?
我想知道这是否存在。
这是我的架构
这是我的突变查询
laravel - 如何在 Laravel+lighthouse graphql 中实现高级验证规则?
在切换到 Lighthouse 之前,我曾经有这样的验证规则:
site_id
因此,在检查用户名是否唯一之前,我需要选择具有一定的用户。现在我有以下突变:
但是我应该如何提供site_id
(site_id
应该被视为只读属性)以及如何在我的自定义验证规则中访问它UniqueUserName
?
laravel-lighthouse - Laravel Lighthouse 的全局中间件
我想在我的所有查询和突变中添加类似的内容
有没有办法在全球范围内运行中间件?
我可以将它添加到$middleware
变量中,Http\Kernal.php
但是我的中间件不会响应所需的查询设置为null
,这会引发不同的错误。
lumen - 接受对象的自定义过滤器 - lighthouse-php
我在微服务架构中使用 lighthouse-php 作为 Api Gateway。
因此,对于我所有的类型,我都会通过 Guzzle 在内部提出请求。
但我需要实现适用于任何类型的过滤器,并在进行查询时提供灵活性。
我需要实现这样的查询:
但我不知道如何实现这个接收复合对象的“where”过滤器,如本例所示。
请记住,此查询不会使用 lumen 内的任何模型,因为它将是一个自定义查询,它将向新闻微服务发出请求。我需要的是我的查询接收来自何处、限制和顺序的任何内容的方式,以便根据请求发送它。但我不知道如何在方案中构建这样的东西。
有人知道怎么做吗?
谢谢朋友。
php - Graphql 自定义类型定义 Laravel Lighthouse 给出关于缺少子类的错误
我为自定义电子邮件类型复制了 Lighthouse 网站链接到 ( https://webonyx.github.io/graphql-php/type-system/scalar-types/ ) 的示例。(见下面的代码)
不幸的是,如果我现在转到 graphql-playground,我会收到 500 错误,说明:“没有为标量电子邮件找到 GraphQL\Type\Definition\ScalarType 的匹配子类”
我该如何解决这个错误?
laravel - 基于相关模型的 Laravel Lighthouse GraphQL 验证
使用 Laravel Lighthouse GraphQL,我想验证一个模型中的值,以便它始终与相关模型中的值匹配。
在这种情况下 aProgram
有 ayear_id
并且 aCategory
也有 a year_id
。我想验证 theProgram
和Category
use 相同year_id
。
GraphQL Schema 如下所示:
现在,如果我创建一个Category
(year_id: 1
返回类别 id=1):
然后尝试创建一个Program
与year_id: 2
新的相关的Category
我希望验证失败,并显示“您不能在不同年份创建程序,因为它是类别!”这样的消息。
到目前为止,我找不到基于另一个模型中的任何值进行验证的方法。我怎样才能做到这一点?