@4sadly

Как лучше реализовать?

Есть сотрудники и транзакции и 3 разных отдела город, отдел кадров, колл-центр
У сотрудников в таблице есть related_id и related_type, для полиморфной связи с любыми из отделов
Некоторые сотрудники должны быть привязаны к колл-центру, но иметь возможность переключаться между городами
Админ будет иметь возможность переключаться в любой из доступных разделов
Как лучше реализовать это переключение? Чтобы сотрудник принадлежал тому отделу, в котором был изначально создан и имел доступ к другим
То есть в разделах сотрудников и транзакций должны отображаться разные записи в зависимости от выбранного отдела
Использую laravel, spatie/laravel menu, spatie/laravel permissions, кто имел подобный опыт, прошу отписаться
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
gscraft
@gscraft
Программист, философ
Судя по всему Вам ни к чему полиморфная связь, ведь уже есть отдел => сотрудник, этого достаточно. Тип (или уникальность отдела) принадлежат самому отделу. Если сотрудник может быть дополнительно связан с другими отделами, то связь можно вынести в отдельную таблицу department_employee: department_id, employee_id, которая сможет хранить несколько связей. Если некий отдел является первичным, то в эту таблицу может быть добавлено поле, с ограничением unique department_employee: employee_id, is_primary (при возможности null), ну или в таблице employee — primary_department_id.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы