Задача:
1) По имеющейся базе данных (MySQL) описать Laravel модели.
Всего 12 таблиц и 1 view.
В базе данных на каждую таблицу и на каждое поле есть подробные комментарии. Проставлены внешние ключи по которым можно понять связи. Также прилагаю диаграмму в png сгенерированную из Navicat for MySQL
2) С помощью Laravel Nova создать админку по этим моделям. Все данные только для чтения для всех пользователей (т.е. это будет что-то типа личного кабинета пользователя, где он может только просматривать свои данные, но не сможет ничего менять).
В терминах Laravel Nova нам нужны Resources:
2.1) Ресурс "Котировки" (Quotation) - таблица в базе quotation.
- Внтури карточки котировки должна быть вложена табличка quotation_cargo
2.2) Ресурс "Перевозки" (Shipment) - таблица в базе shipment
- Внутри карточки перевозки должна быть вложена табличка shipment_hawb
- Внутри карточки перевозки должна быть вложена табличка из view shipments_invoices
2.3) Ресурс "Счета" (Invoice) - таблица в базе invoice
- Внутри карточки перевозки должна быть вложена табличка invoice_line
Все прочите таблицы в базе используются исключительно как справочники и в виде отдельных ресурсов Nova не нужны.
3) Нужна авторизация по логину/паролю для перехода в Nova - использовать стандартные механизмы Laravel
p.s. все таблицы в базе названы в единственном числе. В документации к Eloquent читал, что по умолчанию имена таблиц предполагаются во множественном числе. Предлагаю переименовать имеющиеся таблицы в множестевенное число, чтобы было привычнее воспринимать для разработчиков работающих с Laravel. Т.е. shipment -> shipments, quotation -> quotations.
SQL:
https://www.dropbox.com/s/f8gb6git9urt7ps/avia.sql...