Я пытаюсь воссоздать нижеприведенную логику в Laravel:
![enter image description here](https://i.stack.imgur.com/Lu7b8.png)
Теперь это динамическое расписание плавания, созданное в настоящее время в Excel. В моем приложении Laravel я хотел бы указать для каждого источника / пункта назначения (Origin to Destination):
- Определите как можно больше «маршрутов» динамически (например, 30 октября на ACL-носителе один из них - Атлантическое небо)
- Определите столько столбцов ETD и ETA (название города и дата) для моего маршрута. Например, я могу указать, что конкретный маршрут имеет две точки ETD
- Это могут быть, например: Нью-Йорк 6 / NOV и Бостон 12 / NOV
- То же самое относится к столбцам ETA. Мне нужно, чтобы динамически иметь возможность добавлять больше столбцов, если конкретный маршрут требует этого
Мне трудно понять логику, необходимую для этого.
Прямо сейчас мои мысли были:
- Создайте модель
Carriers
и таблицу, которая содержит все различные носители (например, "ACL")
- Создайте модель и таблицу
Vessels
, в которой содержатся все различные суда, для конкретного перевозчика (например, «Атлантическое небо» и «Атлантический парус»). Затем я определю отношение hasOne
для этих двух моделей.
Теперь мне также понадобится какая-то таблица, которая содержит конкретный маршрут (например, Нью-Йорк до Копенгаген , а затем список всех перевозчиков, имеющих этот маршрут.
Однако я не могу понять, как я должен это делать, когда мне нужно иметь возможность динамически добавлять как можно больше ETD
и ETA
баллов?
Я думал:
- Создайте модель
Routes
, которая будет содержать информацию о маршрутизации, такую как (vessel_id, cut_off_date), но как мне создать столбцы `etd1, etd2, etd3, eta1, eta2, eta3, если это может отличаться от маршрут к маршруту?