Php Laravel 5.1-如何使用关系对模型进行版本控制

Php Laravel 5.1-如何使用关系对模型进行版本控制,php,mysql,laravel,relationship,versioning,Php,Mysql,Laravel,Relationship,Versioning,我目前正在开发一个应用程序,在保存laravel中的历史记录和未来条目及其关系(多对多)时遇到问题 我有三张桌子: 使命 成员 代表团成员 任务表保存任务的数据。 members表保存单个成员的数据。 任务可以有多个成员,成员可以参加多个任务。 在任务运行之前,任务以及成员数据可能会发生更改。 第三张桌子放着不动产 现在,我的要求是保存(以及以后使用)此数据的所有修订,并保存将来可用的条目。删除不会发生,因为我必须使用软删除标志保留条目。 它要求我能够获得这种关系的每个状态,以及给定时间戳的实体

我目前正在开发一个应用程序,在保存laravel中的历史记录和未来条目及其关系(多对多)时遇到问题

我有三张桌子:

  • 使命
  • 成员
  • 代表团成员
  • 任务表保存任务的数据。 members表保存单个成员的数据。 任务可以有多个成员,成员可以参加多个任务。 在任务运行之前,任务以及成员数据可能会发生更改。 第三张桌子放着不动产

    现在,我的要求是保存(以及以后使用)此数据的所有修订,并保存将来可用的条目。删除不会发生,因为我必须使用软删除标志保留条目。 它要求我能够获得这种关系的每个状态,以及给定时间戳的实体的每个状态(连接这些表也需要工作)

    在任务模型中,有一个以下功能:

    public function members() {
        return $this->belongsToMany('App\Member')->withTimestamps(); 
    }
    
    并且在成员模型中具有相同的功能:

    public function missions() {
        return $this->belongsToMany('App\Mission')->withTimestamps();
    }
    
    实现多对多关系或实现任何模型的版本或修订也不是问题

    我已经尝试过mpociot/versionable和venturecraft/revisionable包,但这些都没有帮助我解决问题。 但是如何实现模型数据的版本控制(未来版本)以及两个模型之间的关系呢


    所以我的问题是:实现这一点的最佳方式是什么?我尝试过的所有内容都会导致过去条目之间的关系丢失。

    也许您应该说明我尝试过的所有内容都会导致过去条目之间的关系丢失。好的,请发布一些代码,说明如何附加/分离关系。正如我所记得的,laravel并没有基于和-更不用说这一点,将pivot表软删除提供给我们。在我浏览了您建议的一些包之后,它们只保存各自模型的属性,而不保存它们之间的完整关系。