/** * beforeSave callback * * @param Model $Model Model using this behavior * @param array $options * @return boolean */ public function beforeSave(Model $Model, $options = array()) { if (isset($Model->data[$Model->alias][self::TAG_FIELD])) { $tags = $Model->data[$Model->alias][self::TAG_FIELD]; $tag_collection_id = $this->TagCollection->saveTags($tags); if (isset($Model->data[$Model->alias][self::TAG_FOREIGN_KEY])) { $this->TagCollection->decrementInstances($Model->data[$Model->alias][self::TAG_FOREIGN_KEY]); } $Model->data[$Model->alias][self::TAG_FOREIGN_KEY] = $tag_collection_id; } return true; }