我也有類似的這個帖子的問題: Laravel - last login date and time timestampLaravel事件監聽
總之,我的目的和問題是:
- 我有一個「的LogRecords」表在我的數據庫。
- 我的活動監聽器global.php只是在默認的「用戶」表上工作。
- 我希望我的事件監聽器能夠在我的「日誌記錄」表中插入數據。
我如何能做到這一點:
- 我應該配置哪些使用雄辯使用我的數據庫表?
- 或者我應該改變global.php?
感謝您的支持。
--------------------更新--------------------
我意識到,在我的auth.php文件,默認的認證模式已經被設置爲:
'model' => 'User'
,但我想聽取意見並與兩用戶和的LogRecord model.So工作,當我嘗試在我的global.php文件中監聽事件,laravel正在自動嘗試與用戶模型。所以,我不得不來配置我的事件監聽器這樣的:
我global.php文件的部分:
//First Example
Event::listen('auth.login', function($user)
{
$userLogRecord = Logrecord::firstOrCreate(array('user_id' => $user->id));
$userLogRecord->user_id = $user->id;
$userLogRecord->login_last_at = date('Y-m-d H:i:s');
$userLogRecord->save();
});
//Second Example
Event::listen('auth.logout', function($user)
{
$userLogRecord = Logrecord::firstOrCreate(array('user_id' => $user->id));
$userLogRecord->user_id = $user->id;
$userLogRecord->logout_last_at = date('Y-m-d H:i:s');
$userLogRecord->save();
});
它工作了,但我認爲這不是一個好主意編輯我的聽衆那樣。 我的目的是聆聽並使用User和Logrecord模型進行一些處理。它現在爲我的目的服務,但我覺得我必須改進。
任何想法?
我可以添加數據到我的日誌表中,但我想用事件監聽器來做到這一點。但我目前的事件監聽器正試圖將數據插入到默認用戶表中。我想我的聽衆與我的日誌類(模型) – 2014-10-27 13:55:08
我假設你已經有聽衆,所以只是發生事件。這將有助於看到您現有的代碼,但我會這樣做: http://laravel.io/bin/aNB1N – 2014-10-27 16:36:48
埃迪,謝謝你給我一些想法,我編輯的帖子,認爲我必須改善我的代碼。 – 2014-10-28 06:36:35