第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將每個操作記錄到數(shù)據(jù)庫 Yii2

將每個操作記錄到數(shù)據(jù)庫 Yii2

我想將CRUD操作或任何其他活動(例如登錄成功/失敗的嘗試以及任何用戶帳戶創(chuàng)建/刪除)存儲到我的數(shù)據(jù)庫中的表,即.TRASACTION_LOG_TABLE我寫了很多控制器和動作,所以我有任何有效的方法來做活動日志。我如何能夠?yàn)槊總€操作或多個控制器中的一組操作執(zhí)行一個函數(shù)來調(diào)用該特定函數(shù)并向數(shù)據(jù)庫中添加一個條目。
查看完整描述

1 回答

?
慕妹3242003

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個贊

您正在尋找活動日志:


你可以在其中創(chuàng)建一個公共類和一個靜態(tài)方法,例如,


classname::setActivityLog(user_id,activity_msg,time);

并將此代碼放入您編寫的每個操作中。例如,操作更新、操作刪除等。


you can get the `user_id` from `Yii::app()->user->id`

put you custom activity message like "User #user_id created new item" etc.

time you can get it while saving into database.

創(chuàng)建一個表和模型,就像活動日志一樣,這就是我在我的項(xiàng)目中所做的。


或者,但這將有限制,例如您無法提供自定義消息或自定義操作名稱


您可以在 boostrap 進(jìn)程中創(chuàng)建一個類級事件處理程序,如下所示(最有可能在 Web 中.php配置文件,該文件保存應(yīng)用程序?qū)ο蟮呐渲茫?/p>


use yii\base\ActionEvent;

use yii\base\Controller;

use yii\base\Event;


$config = [

    ...

    'bootstrap'    => [

        ...

        function () {

            Event::on(Controller::class, Controller::EVENT_AFTER_ACTION, function (ActionEvent $event) {

                Yii::info('Called controller/action: ' . $event->action->id . '/' . $event->action->controller->id);

            });

        },

        ...

    ],

    ...

];


查看完整回答
反對 回復(fù) 2022-09-17
  • 1 回答
  • 0 關(guān)注
  • 114 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號