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

laravel - Laravel Lighthouse Graphql HasOne 嵌套关系不起作用

我正在尝试获得在 Laravel Lighthouse GraphQL 中工作的 HasOne 关系。
它不起作用。突变不会给出错误,但也不会更新关系(员工 id 保持不变,而我希望它更改为 2):

我的架构如下所示:

Account 和 Employee 模型如下所示:

任何帮助或建议将不胜感激。
到目前为止,我已经尝试添加/删除@hasOne或更改ID![ID!]!,但没有任何效果。

0 投票
3 回答
1714 浏览

laravel - Laravel Lighthouse - 使用 TypeRegistry 以编程方式添加类型。具体如何?

在文档中尝试这部分没有成功,并且在互联网上没有找到任何好的参考。我想动态添加模式类型,并认为可以通过 GraphQLServiceProvider 中的 typeregistry 添加它们,但是当我尝试在 graphql-playground 中使用该类型时,它显示在模式错误中找不到类型。我注册的类型似乎没有加载到我不知道该怎么做的模式中。

我尝试过的事情:将提供程序添加到我的应用程序配置中。跑“作曲家转储自动加载”清除缓存和配置。

这是我的 GraphQLServiceProvider 代码

这是我的架构

0 投票
0 回答
538 浏览

laravel - Laravel Lighthouse - 在 handleBuilder 方法中接收 Eloquent Builder 而不是 Query Builder?

有没有办法在创建自定义时接收实例\Illuminate\Database\Eloquent\Builder而不是方法?\Illuminate\Database\Query\BuilderhandleBuilderArgBuilderDirective

这个例子

0 投票
2 回答
838 浏览

laravel - Laravel Lighthouse Graphql belongsToMany 具有枢轴值的突变

我有一些通过 belongsToMany 关系中的数据透视表关联的 Laravel 模型。
现在我尝试在 Laravel Lighthouse 中创建一个突变来加入模型并填充枢轴值。
不知何故,我无法找到如何做到这一点。

课程模型如下所示:

我的 GraphQL 代码如下所示:

问题是当我尝试在我的课程中创建这样的程序时:

Laravel Lighthouse 尝试将数据插入Program表(并抱怨 Program.name 没有默认值)。
但是,我想将数据(course_id、year_id 和 program_id)插入Course_Program表。

如何告诉 Laravel Lighthouse 在数据透视表中插入数据?

0 投票
1 回答
1355 浏览

laravel - Laravel Lighthouse GraphQL 从连接三个表的数据透视表查询数据

在 Laravel Lighthouse GraphQL 中,如何从中间“数据透视”表中检索信息?

假设我在 belongsToMany 关系中有用户和角色:

并且还假设中间表User_Role包含列“created_at”和“tag_id”。
我将如何在我的查询中包含“created_at”?
我将如何获得tag_id引用的标签?

0 投票
2 回答
475 浏览

laravel - Laravel Observer 中的模型与数据库不匹配

user我为保存实例时设置了一个观察者。但是,传递给观察者方法的模型实例包含数据库插入之前的数据。该事件是通过 Lighthouse 运行 GraphQL 突变来触发的。如果我手动设置用户组并保存它,观察者会按预期执行。

这是一个设置用户组的示例:

目前我的UserObserver::saved样子:

这是使用 Laravel 5.8.35 和 Lighthouse 4.6

0 投票
2 回答
2885 浏览

laravel - Laravel Lighthouse:在相关模型上使用 @paginate 会破坏直接查询模型的能力

假设我们有 Series 和 Episodes,并且每个 Series 都有很多 Episodes:

一切正常。我们可以查询系列和剧集,它们是分页的。

Lighthouse 文档说我们还可以通过设置指令(https://lighthouse-php.com/master/api-reference/directives.html#hasmanytype )来对关系进行分页,如下所示:@hasMany

这在查询这样的系列时效果很好:

系列和他们的剧集都被分页。

但是现在我不能再直接查询剧集了:

这将返回错误No class 'EpisodePaginator' was found for directive 'paginate'"这到底是什么意思,以及如何获得直接对相关模型和所有模型进行分页的能力?

0 投票
1 回答
64 浏览

laravel-lighthouse - 更新废弃模型

我正在尝试更新一个废弃的模型,而不必先恢复它。

架构

突变

回复

如果作者 1 当然没有被软删除,这很好用。

我在这里的 PR 中看到它仅针对 @all @find 和 @paginate 实现。所以我猜它仍然应该添加到@update 指令中?

0 投票
1 回答
836 浏览

php - Laravel Lighthouse GraphQL 重命名关系突变

我在使用 graphQL 查询更新重命名关系时遇到问题。

这是相关的架构和 Laravel 模型:

Laravel 模型

GraphQl 模式

使用以下 graphQl 查询,我收到缺少列 Lead_type 的 SQL 错误: 查询

SQL 错误

我遵循 Laravel 命名约定,并在潜在客户表上命名了lead_type_id 列。如果我删除将lead_type 关系重命名为leadType,我可以成功运行更新突变,但我无法弄清楚如何让它使用正确的列名称(lead_type_id),同时保持关系重命名。

任何帮助是极大的赞赏。

非常感谢

0 投票
1 回答
303 浏览

php - Php GraphQL 实现响应比 REST 慢

我正在使用 lighthouse-php 包在 php 中试验 graphql。使用 RESTful 实现从表中获取 8000 条记录需要 1.7 秒才能完成请求。而使用 grapql 实现需要 4.99 秒才能完成请求。为什么 graphql 比 REST 慢,是否有任何可能的方法可以提高 graphql 的性能。

休息请求

GraphQL 请求