问题标签 [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 - Laravel Lighthouse Graphql HasOne 嵌套关系不起作用
我正在尝试获得在 Laravel Lighthouse GraphQL 中工作的 HasOne 关系。
它不起作用。突变不会给出错误,但也不会更新关系(员工 id 保持不变,而我希望它更改为 2):
我的架构如下所示:
Account 和 Employee 模型如下所示:
任何帮助或建议将不胜感激。
到目前为止,我已经尝试添加/删除@hasOne
或更改ID!
为[ID!]!
,但没有任何效果。
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
看这个例子:
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 在数据透视表中插入数据?
laravel - Laravel Lighthouse GraphQL 从连接三个表的数据透视表查询数据
在 Laravel Lighthouse GraphQL 中,如何从中间“数据透视”表中检索信息?
假设我在 belongsToMany 关系中有用户和角色:
并且还假设中间表User_Role
包含列“created_at”和“tag_id”。
我将如何在我的查询中包含“created_at”?
我将如何获得tag_id
引用的标签?
laravel - Laravel Observer 中的模型与数据库不匹配
user
我为保存实例时设置了一个观察者。但是,传递给观察者方法的模型实例包含数据库插入之前的数据。该事件是通过 Lighthouse 运行 GraphQL 突变来触发的。如果我手动设置用户组并保存它,观察者会按预期执行。
这是一个设置用户组的示例:
目前我的UserObserver::saved
样子:
这是使用 Laravel 5.8.35 和 Lighthouse 4.6
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'"
这到底是什么意思,以及如何获得直接对相关模型和所有模型进行分页的能力?
laravel-lighthouse - 更新废弃模型
我正在尝试更新一个废弃的模型,而不必先恢复它。
架构
突变
回复
如果作者 1 当然没有被软删除,这很好用。
我在这里的 PR 中看到它仅针对 @all @find 和 @paginate 实现。所以我猜它仍然应该添加到@update 指令中?
php - Laravel Lighthouse GraphQL 重命名关系突变
我在使用 graphQL 查询更新重命名关系时遇到问题。
这是相关的架构和 Laravel 模型:
Laravel 模型
GraphQl 模式
使用以下 graphQl 查询,我收到缺少列 Lead_type 的 SQL 错误: 查询
SQL 错误
我遵循 Laravel 命名约定,并在潜在客户表上命名了lead_type_id 列。如果我删除将lead_type 关系重命名为leadType,我可以成功运行更新突变,但我无法弄清楚如何让它使用正确的列名称(lead_type_id),同时保持关系重命名。
任何帮助是极大的赞赏。
非常感谢