首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Adonis.js关系

Adonis.js关系
EN

Stack Overflow用户
提问于 2020-03-04 13:11:00
回答 1查看 115关注 0票数 0

我有以下表:公司、分支机构、用户、users_branches

每个分支都链接到公司。可以将用户链接到users_branches枢轴表中捕获的分支。

公司的索引和显示方法中,我只需要显示为用户可以访问的公司,也就是说,仅显示链接到他注册的任何分支的公司。你能帮帮我吗?

我今天要讲的是这个,非常基本的,列出了所有的东西:

代码语言:javascript
复制
async index () {
  const companies = await Company.all()
  return companies
}

async show ({ params }) {
  const company = await Company.findOrFail(params.id)

  await company.load('branches')

  return company
}

我试过用另外两种方法:

代码语言:javascript
复制
async index ({ auth }) {
  const { user } = auth

  return user.branches().company().fetch()
}

代码语言:javascript
复制
async index () {
  const companies = await Company.query()
    .whereHas('branches', branchesQuery => {
      branchesQuery.wherePivot('user_id', 1)
    })
    .fetch()

  return companies
}

但不起作用

EN

回答 1

Stack Overflow用户

发布于 2020-03-08 12:07:39

这可能有效,(如果出现任何错误,还需要将'user_id'更改为'id',还可以启用调试并查看查询。

代码语言:javascript
复制
const companies = await Company.query()
.whereHas('branches', branchesQuery => {
  branchesQuery.whereHas('users', uq => {
    uq.where('user_id', 1)
  })
})
.fetch()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60526877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档