Комплекс полиморфных отношений Laravel - PullRequest
0 голосов
/ 10 июня 2019

У меня есть пользователи, которые имеют полиморфные отношения с разными сущностями.Вот моя структура данных:

group
    -id
    -title
region
   -id
   -title
activity
   -id
   -title

users
   -id
   -name

relationships
    -id
    -user_id
    -relationship_id
    -relationship_type
    -relationship_level

Отношения определены во всех моделях, например - Модель пользователя:

public function organization()
{
    return $this->morphedByMany('App\Organization', 'relationship')->withPivot('relationship_level');
}  

Столбец отношение_уровень содержит один из «Администратор», «Региональный менеджер"," Менеджер группы "," Пользователь "и т. Д. Вы можете быть несколькими ролями в нескольких объектах.

Я хочу написать область действия в модели Users scopeByAutorization, которая возвращаетвсе пользователи ниже Auth::user().

Например, если я group manager в одной группе и regional manager в другом регионе, я хочу, чтобы запрос возвращал всех, у кого уровень_отношений ниже моего (еслиони идут Пользователь-> Группа М-> Региональный М) в соответствующей группе и регионе.

Это вообще возможно с помощью Eloquent или мне нужно написать много собственной логики?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...