BakingPlate icon indicating copy to clipboard operation
BakingPlate copied to clipboard

Add callback support for updateAll()

Open ProLoser opened this issue 14 years ago • 0 comments

This may or may not involve generating a new behavior. I need to confirm if behavior methods are called BEFORE core model methods.

I found a solution here and commented an elegant enhancement I plan to use in one of my other plugins.

public function updateAll($fields, $conditions = true, $callbacks = true) {
    if (!$callbacks) {
      return parent::updateAll($fields, $conditions);
    }
    $db =& ConnectionManager::getDataSource($this->useDbConfig);
    $created = FALSE;
    $options = array();
    if ($db->update($this, $fields, null, $conditions)) {
      $created = TRUE;
      $this->Behaviors->trigger($this, 'afterSave', array($created, $options));
      $this->afterSave($created);
      $this->_clearCache();
      $this->id = false;
      return true;
    }
  return FALSE;
 }
Add callback support for updateAll()

ProLoser avatar May 22 '11 02:05 ProLoser