【发布时间】:2021-04-29 17:44:14
【问题描述】:
我在 Laravel 5.8 中使用 Lighthouse 来公开某些信息。
假设我有 2 张桌子:
Order
--------
id
status
Results
--------
id
result_value
order_id
还有我的架构
type Order {
id: ID!
status: String,
results: [Result!]! @hasMany
}
type Result {
id: ID!
result_value: String,
order_id: Order! @belongsTo
}
type Query {
order(id: ID @eq): Order @find,
}
如果我运行下一个查询按预期工作,但是...
{
order(id: 123) {
status
results {
result_value
}
}
}
当order.status 等于某个值时,我想要完成的是将order.results.result_value 返回为空或空。
我正在尝试使用custom field directive,但我不确定我想要的是否可以实现,因为模型尚未加载
理想情况下,自定义指令是理想的,因为这不是唯一的属性,也不是我需要隐藏的唯一关系。
我(我想我)不能使用@can,因为我的请求将使用自定义身份验证,并且无法通过基于角色的访问模型获得数据。
@where、@whereConditions 和其他过滤指令不能使用,因为我不是要过滤所有数据。当另一个模型属性等于某个值时,我想隐藏一个模型属性值
关于如何解决这个问题有什么建议吗?
【问题讨论】:
标签: laravel eloquent laravel-lighthouse