Многократный процесс утверждения в Laravel - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть форма, которая предоставляется студентом и требует одобрения разных людей в зависимости от типа формы. Как я могу достичь этого в Laravel? Ex. Учащийся 1 представляет форму 1, которая требует одобрения инструктора и консультанта в указанном порядке. Советник получит уведомление об утверждении только после того, как его утвердит инструктор.

Я попытался создать столбцы для каждого типа утверждающего в районе (5) и проверить, утвердил ли утверждающий, и задать поле. Проблема с этим подходом состоит в том, что таблица имеет много столбцов.

Я создал таблицу с утверждающими и приоритетом для утверждающего для конкретной формы и на основании этого отправляю уведомление.

Я знаю, что должен быть лучший способ добиться этого.

$firstApprover = $form->approvallist->where('priority', '1')->first();

** Здесь Approvallist - это отношение к таблице ApprovalList, которая содержит список людей, которые одобряют этот конкретный тип формы. .

Ответы [ 3 ]

1 голос
/ 04 ноября 2019

Вы можете поддерживать отношение «многие ко многим». Таблицы будут, студенты, form_types и сводная таблица может быть form_type_student. В сводной таблице вы будете хранить тип формы, идентификатор студента и дополнительно два поля. Одним из них является Approver_id (лицо, которое одобряет) и is_approved (логическое значение), независимо от того, одобрено оно или нет.

И затем вы можете проверить, был ли утвержден тип формы, представленный студентом, и одобрено, кто одобрил его.

0 голосов
/ 04 ноября 2019

Предположим, что вы используете таблицы Application и Reviewer. Я предлагаю связать их со многими для многих. Сводная таблица может иметь настраиваемые поля «утверждено» (по умолчанию 0) и «приоритет» в сводной таблице. Установите флаг утвержденного приложения только при получении последнего подтверждения.

См. https://laravel.com/docs/5.8/eloquent-relationships#many-to-many

0 голосов
/ 04 ноября 2019

Есть готовые к использованию компоненты Laravel. Например, первый или второй . Просто одобрите Google Laravel и выберите то, что вам нужно.

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