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.savedまたは を聞くことができますrevisionable.deleted

于 2016-09-22T17:20:30.777 に答える