2016-11-07 40 views

回答

2

要做到這一點你必須手動處理保存過程中使用的模型類。

1-打開你的模型類。

2-寫模型偶函數等public function afterSave(){}

例如,如果我在reservation模型具有total字段和我想此字段值被自動地在另一個表中插入稱爲accounting

public function afterSave(){ 
    $accounting = \Namespace\Pluginname\Models\Accounting::find(1); 
    $accounting->myField = $this->total; 
    $accounting->save(); 
} 

左右的時間內afterSavebeforeSavebeforeCreateafterCreate可以處理模型的保存過程。

要查看這些功能之間的區別,你可以閱讀更多此鏈接:https://octobercms.com/docs/database/model#events

+0

很好的回答。儘管在這個通用的場景中,我可能會提出一種不同的方式來保存其他數據,而不是''find(1)'''(它只是找到id = 1的模型,否則失敗,或者)'''findOrCreate(['reservation'=> $ this-> id])'''保存在與這個特定'''reservation'''相關的行中,給出一個更「現實」的例子,並指向[Laravel/Elouent docs](https://laravel.com/docs/5.3/eloquent#other-creation-methods)進行一些更深入的挖掘,... – trollkotze

+0

.. 。還有[關係](https://octobercms.com/docs/database/relations)和[關係行爲](https://octobercms.com/docs/backend/relations#configuring-relation),這可能是在這種情況下更適合使用。 儘管smartassing在這裏,但是:P,並試圖給像我這樣的其他newbiews一些額外的指針,這可能是進一步閱讀的好。 – trollkotze

+0

很好的例子。當然'find(1)'是他可以編寫的代碼來訪問應用程序中的任何模型的一個非現實的例子:D –

相關問題