如何在一个 parent 上找到符合条件的 (Adonis Lucid Many-to-Many) children 条记录?
How does one find existence of (Adonis Lucid Many-to-Many) children records on one parent that meet a criteria?
我试图在单个 parent 角色 (many-to-many) 上找到某些权限的存在。
const roles = await Role
.query()
.preload('permissions')
this.role = roles.find(role => role.id === someid)
const exists = this.role.permissions.some(permission => permission.name === 'something')
这是目前的解决方案,似乎不是最优的。
有没有办法在不加载所有角色和权限并在 Javascript 中循环遍历它们的情况下执行此操作?
非常感谢
尝试使用 whereHas (https://docs.adonisjs.com/reference/orm/query-builder#wherehas):
await Role.query()
.where('id', someid)
.whereHas('permissions', q => {
q.where('name', 'something')
})
我试图在单个 parent 角色 (many-to-many) 上找到某些权限的存在。
const roles = await Role
.query()
.preload('permissions')
this.role = roles.find(role => role.id === someid)
const exists = this.role.permissions.some(permission => permission.name === 'something')
这是目前的解决方案,似乎不是最优的。 有没有办法在不加载所有角色和权限并在 Javascript 中循环遍历它们的情况下执行此操作? 非常感谢
尝试使用 whereHas (https://docs.adonisjs.com/reference/orm/query-builder#wherehas):
await Role.query()
.where('id', someid)
.whereHas('permissions', q => {
q.where('name', 'something')
})