У меня есть эти таблицы: компании, филиалы, пользователи, users_branches
Каждая ветка связана с компанией . Пользователь может быть связан с веткой, которая захватывает в users_branches сводную таблицу
В индексах и методах отображения компании мне нужно отображать только как компании, которые пользователь имеет доступ к нему, то есть только как компании, которые связаны с каким-либо филиалом, в котором он зарегистрирован. Можете ли вы помочь мне?
Сегодня у меня есть вот что, очень базовое c и перечисление всего:
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
}
Я пытался сделать это двумя другими способами:
async index ({ auth }) {
const { user } = auth
return user.branches().company().fetch()
}
и
async index () {
const companies = await Company.query()
.whereHas('branches', branchesQuery => {
branchesQuery.wherePivot('user_id', 1)
})
.fetch()
return companies
}
Но это не работает