Вызов функции объекта данных при загрузке (SilverStripe)

У меня есть класс AdminUpload именем AdminUpload котором хранятся две переменные: UploadDate (которая всегда ставит на ставку в текущую дату) и Total , которая является int.

Функция updateUploads() вызывается и сохраняет текущую дату и увеличивает значение Total на 1 каждый раз при его вызове.

 <?php class AdminUpload extends DataObject { private static $db = array( 'UploadDate' => 'Date', 'Total' => 'int' ); // Tell the datagrid what fields to show in the table private static $summary_fields = array( 'ID' => 'ID', 'UploadDate' => 'Current Date', 'Total' => 'Version Number' ); public function updateUploads(){ $uploadDate = SS_Datetime::now(); $this->UploadDate = $uploadDate; $this->Total++;//increment the value currently stored in the database each time $this->write(); } 

}

То, что я хочу, – это когда кто-то загружает новое изображение в представлении администратора, тогда updateCache() вызывается во время onAfterWrite() . Однако я хочу сохранить только одну запись в базе данных, поэтому каждый раз, когда я загружаю изображение, я хочу иметь только одну запись в AdminUpload базы данных AdminUpload .

 public function onAfterWrite(){ $updateGallery = parent::onAfterWrite(); $adminUploading = AdminUpload::get(); $adminUploading -> updateUploads(); return $updateGallery; } 

Я никогда не пытался выполнять вызов функции в SilverStripe, как это, это кажется достаточно простым, но поскольку я не собираюсь добавлять новую запись в базу данных с каждым вызовом функции updateUploads (), вот где я застрял , Любые советы будут полезны …

Related of "Вызов функции объекта данных при загрузке (SilverStripe)"