CakePHP - Как проверить beforeSave, если это INSERT или UPDATE В моем методе модели beforeSave, как я могу проверить, будет ли операция сохранения INSERT или UPDATE? Я хочу добавить к данным модели, но только если он вставляет новую строку. Ответ 1 Вы можете просто проверить данные, если существует id: function beforeSave($options = array()) { if(empty($this->data[$this->alias]['id'])) { //INSERT } else { //UPDATE } } Ответ 2 http://book.cakephp.org/2.0/en/models/callback-methods.html#aftersave afterSave(boolean $created, array $options = array()) Значение созданного $будет истинным, если была создана новая запись (а не обновление). Ответ 3 Вы можете попробовать это public function beforeSave($options = array()) { if($this->id) { // Update } else { // Add } }
Ответ 1 Вы можете просто проверить данные, если существует id: function beforeSave($options = array()) { if(empty($this->data[$this->alias]['id'])) { //INSERT } else { //UPDATE } }
Ответ 2 http://book.cakephp.org/2.0/en/models/callback-methods.html#aftersave afterSave(boolean $created, array $options = array()) Значение созданного $будет истинным, если была создана новая запись (а не обновление).
Ответ 3 Вы можете попробовать это public function beforeSave($options = array()) { if($this->id) { // Update } else { // Add } }