В настоящее время я работаю над приложением, и у меня проблема с сохранением истории и будущих записей и их отношений (многие ко многим) в laravel.
У меня есть 3 таблицы:
Таблица миссий содержит данные для миссии.
Таблица членов содержит данные для одного члена.
Миссии могут иметь несколько участников, и участники могут участвовать в нескольких миссиях.
Перед запуском миссии данные миссии и ее участников могут измениться.
Третья таблица содержит реалии.
Теперь мое требование состоит в том, чтобы сохранить (и в дальнейшем использовать) все изменения этих данных И сохранить записи, которые станут доступны в будущем. Удаление не произойдет, так как я должен сохранять записи с флажком мягкого удаления.
Требуется, чтобы я мог получить каждое состояние этой реальности, а также каждое состояние сущностей для данной временной отметки (объединение этих таблиц также должно работать).
в модели миссии есть функция ownToMany:
public function members() {
return $this->belongsToMany('App\Member')->withTimestamps();
}
и та же функция в модели члена:
public function missions() {
return $this->belongsToMany('App\Mission')->withTimestamps();
}
Реализовать отношения «многие ко многим» или реализовать версии или ревизии для любой модели тоже не проблема.
Я уже пробовал пакеты mpociot / versionable и venturecraft / revisionable, но они не помогли мне решить проблему.
Но как реализовать управление версиями данных модели (с будущими версиями) И отношения между двумя моделями?
Итак, мой вопрос: каков наилучший способ реализовать это? Все, что я попробовал, привело к потере отношений между прошлыми записями.
Задача ещё не решена.
Других решений пока нет …