问题标签 [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 - 在嵌套查询中调用时将模型列表限制为用户可以访问的模型
我的系统有属于用户的案例。用户是部门的一部分。设置是用户可以访问属于与用户在同一部门的用户的所有案例。
问题是:如果我是 UserX 并且我是 DepartmentA 的一部分,并且还有属于同一部门的 UserY,还有 DepartmentB,以及仅属于 DepartmentB 的第三个 UserZ。像这样的查询允许 UserX 通过 UserY 访问 UserZ 案例:
所以我的问题是,我如何控制用户访问以仅返回他们有权访问的案例,无论在什么“上下文”中请求案例。我在 RESTful API 中要做的就是获取一个列表用户可以访问的允许 ID 并通过它进行过滤,但我不确定这是否是在 graphql 解决方案中处理的正确方法。
我真的希望我的问题有意义,并感谢您阅读它。
laravel - 扩展灯塔指令
我想从灯塔库扩展指令@modelClass。我正在研究模块化架构,但我没有 Eloquent 模型,我有几个,而且我正在扩展我的第一个模型版本,这就是为什么我使用接口来绑定我需要的最后一个模型。我需要做的是使用接口而不是模型类来解析我的类型对象。
使用指令 @modelClass 应该如下所示:
因为我有这个绑定:
我应该有类似的东西:
但我不能覆盖或扩展 @modelClass 指令。
laravel - 带有 LARAVEL Lighthouse PHP 的 GraphQL - 如何隐藏属性?
标题说明了一切。
如果我有这样的事情:
并且只有特定用户才能访问该ID
字段。我该怎么做?
如果特定用户只能访问Model > relationship
数据,则同样如此。如何根据用户能力隐藏属性?
php - 无法声明类,因为该名称已在使用中
我正在尝试从我的 GraphQL 获取数据,但它返回此错误:
AcceptBooking.php
如果我将类的名称更改为随机名称,它再次表示我给它的新名称正在使用中。
在我的 schema.graphql
我在 Laravel 项目中使用 Lighthouse-php。
laravel-lighthouse - Pagination with custom field resolver directive
What I am trying to achieve is the following: I want a query that searches a model, this query can be complex and thus needs a separate resolver or some place where I can put my logic.
What goes wrong: This is my query
This is my resolver
The output now is just a list of 25 items with no info on pagination. When I try to add the @paginate directive I get the following error
How can I add my custom logic but still have the pagination?
laravel-lighthouse - Laravel Lighthouse 模式验证问题未定义标量混合
我正在尝试验证模式,但遇到了一个非常陌生的错误。当我尝试运行 PHP artisan lighthouse:validate-schema 命令时会发生这种情况。
在此之前,我完全没有遇到过这个问题。事实上,我昨天刚刚安装了这个包,然后它就可以工作了。请注意,这不是基本的灯塔包,我确实定义了架构
这是完整的堆栈跟踪。
但是它说No matching subclass of GraphQL\\Type\\Definition\\ScalarType of finding for the scalar Mixed
,我已经验证我从未声明任何标量类型“混合”
laravel - 使用 Laravel Lighthouse 在 Laravel 7 中出现 CORS 错误
我有一个用 Laravel 和 Lighthouse-php(用于 GraphQL)构建的 API。我的客户端是用 Vue js 构建的,并使用 Apollo 进行 graphQL 客户端实现。每当我提出请求时,我都会收到以下错误:
自然地,我继续安装 laravel-cors 包,但后来我意识到它是默认安装在我的 Laravel 安装(7.2.2)中的。这意味着它\Fruitcake\Cors\HandleCors::class
已经添加到中间件数组中Kernel.php
,并且 cors 配置文件已经在我的配置目录中。
经过一番谷歌搜索,我意识到我需要添加\Fruitcake\Cors\HandleCors::class
到我的文件中的route.middleware
数组config/lighthouse.php
它仍然没有工作。我已经重新启动服务器,清除缓存,清除配置并运行,composer dump-autoload
但我仍然得到错误。我不知道如何克服这一点。任何帮助将不胜感激。
版本
Laravel 7.2.2
Laravel 灯塔 4.10
graphql - GraphQL 更新多个状态
对于我的项目,我需要更新当前状态为 1 的所有帖子的状态。
我一直在尝试找到一种方法来创建基于条件的突变,或者甚至在一个请求中放置多个突变(尽管这样做的缺点是我需要提前获得所有状态 = 1 的帖子的 ID。
除了单独改变每个项目之外似乎找不到任何解决方案,这对我来说似乎效率极低。
graphql - 灯塔嵌套突变 FK 字段未填充
我在用 Lighthouse 处理嵌套突变时遇到了一些问题。
我有两个相关的模型:Ams\Account
hasMany Ams\Contact
。这是Ams\Contact
模型:
我的 GraphQL 架构文件如下所示:
当我尝试在操场上运行以下突变时:
我收到有关以下错误消息的错误:
我已经尝试了一些来自网络的修复和建议,据我所知,我的架构遵循文档中定义的格式,但我无法理解为什么它不起作用。
我还确认该帐户的简单突变可以正常工作。当我尝试与联系人同时创建新帐户时,我也会收到类似的错误消息。
我的倾向是它与不同模型的名称空间有关,但我无法想象我是第一个有这个要求的人,我也找不到任何关于如何克服这个问题的参考资料。
任何和所有的帮助将不胜感激。
laravel - GraphQL ID 类型更正 - 如何使用 String?
我有一个具有唯一 ID 的模型,例如d192a9be-c1f8-4099-8e88-7333ca07866d
当使用 graphql 查询时,结果id: "0"
看起来像是在尝试转换为Int
.
如何使用字符串唯一 ID?