Я хочу авторизовать ресурс в моем приложении Laravel, чтобы пользователи могли изменять только идентификатор внешнего ключа только на значение элемента, принадлежащего той же организации, что и пользователь.
Какпример:
A user
принадлежит organization
=> user.organization_id
A organization
имеет множество item
объектов => item.organization_id
Теперь user
хочет обновить ресурс с несколькими столбцами и четырьмя столбцами элементов item1
, item2
, item3
, item4
.
. user
можно разрешить устанавливать толькоодин из этих 4 предметов с идентификатором item
, который принадлежит его организации.
Я создал Контроллер и Политику для этого случая, которая содержит функцию
// Controller function
public function update(Request $request, ItemToUpdate $item)
{
//
}
// Policy function
public function update(User $user, ItemToUpdate $item)
{
//return true;
}
Теперь мой вопрос: Каков самый эффективный способ проверить, если пользовательразрешено обновлять ресурс с помощью идентификаторов, которые отправляются в запросе.
Конечно, я мог бы сделать запрос БД для каждого элемента и проверить, если item.organization_id === user.organization_id
, но действительно ли это наиболее эффективный и эффективныйКстати?
Спасибо