0

内部アプリケーションの 1 つに Yii フレームワークを使用しています。管理者、スーパー管理者など、さまざまなレベルのユーザーがいます。

私のアプリケーションでは、スーパー管理者はすべての管理者ユーザー DB アクティビティ (挿入、更新、および削除) を追跡する必要があり、特定のアクティビティをロールバックすることもできます (例: 顧客のファーストネームを更新します。ロールバック中、古いファーストネームは保持される必要があります)。 )。

私はいくつかの調査を行いましたが、解決策を見つけることができませんでした。

前もって感謝します。

4

1 に答える 1

0

アクティブなレコード モデル用に作成されたすべてのバージョンを追跡できる拡張機能を作成しました。以下に少し例を示します。

book = new Book;
$book->title = 'The correctio';
$book->author = 'Jonathan Franzen';
$book->save();
echo $book->version; //1
$book->title = 'The corrections';
$book->save();
echo $book->version; //2

$book->toVersion(1);
echo $book->title; //'The correctio'
// saving a previous version creates a new one
$book->save();
echo $book->version; // 3

そして、誰がモデルを保存したかを知るには:

echo $book->versionCreatedBy; //"John Doe";
echo $book->versionComment; //"Creation of the book in the db";
echo $book->createdTime; // 11/10/2009
于 2013-04-23T12:33:07.237 に答える