0

使用RevisionableTrait时,如何触发它来保存特定模型的修订,所有这些都是从控制器完成的。

用户发送电子邮件(此操作不会对任何模型进行 CRUD),但我想跟踪此操作。所以我做类似的事情: Action::make('send email', $user, $email, $time, $from, $to, $subject, ....)


原因:我想在执行 Revisionable 支持的 CRUD 方法以外的其他操作时保存修订。所以,我需要手动触发它。

示例: 这个包完全符合我的描述。我可以在需要时创建一个活动。加上一些额外的信息。

示例:即使模型没有更改,我也想创建一个修订版!。可能触发此操作的一些操作可能是:用户发送电子邮件,用户查看电子邮件草稿。因此,我需要从控制器记录/注册该操作并保存它。那可能吗?

Revisionable看起来它没有监听自定义触发器的事件。我错了吗?,有解决方法吗?

笔记:

  • 也许我使用了错误的库。因为我还想保存不编辑(创建、更新、删除)模型的操作。我的意思是,我想保存一些动作,即使他们没有修改模型,而是他们只是使用它。
  • 另一个包的同样问题。
4

1 回答 1

0

可修订的文档准确地告诉您需要做什么,将特征添加到您的模型中:

class YourModelHere extends Eloquent {

    use \Venturecraft\Revisionable\RevisionableTrait;

    public static function boot()
    {
        parent::boot();
    }

    // other model code goes here
}

它通过在保存、保存、创建和更新时调用引导方法来工作。

还提供了您可以关联的事件:

活动

每次创建模型修订时都会触发一个事件。你可以听revisionable.createdrevisionable.savedrevisionable.deleted

于 2016-09-22T17:20:30.777 回答