Можно ли сделать aftersave() для app_controller.php в CakePHP?

Можно ли сделать aftersave() для app_controller.php в CakePHP?

Я хочу обнаружить это в app_controller для глобального использования, поэтому я не буду повторять это для каждого контроллера или модели.

Спасибо, С


person steamboy    schedule 21.12.2010    source источник
comment
Что вы хотите, чтобы контроллер делал после сохранения?   -  person webbiedave    schedule 22.12.2010


Ответы (1)


во-первых, afterSave() является функцией класса модели торта, не контроллера. Поэтому рекомендуемым решением является определение общего /app/app_model.php

// app/app_model.php
class AppModel extends Model {

    function afterSave($created) {
         if($created) {
                 // do clean up after insert
         } else { 
                 // do clean up after update
         }
    }
}

В вашем модельном классе

// app/models/user.php
class UserModel extends AppModel // <- its extending AppModel

Это будет выполняться по всем запросам $this->ModelName->save()

person Ish    schedule 22.12.2010
comment
«Вставка» и «обновление»: когда слов «обновить» и «вставить» недостаточно! :) - person Daniel Wright; 22.12.2010