/** * Flush the cache. * * @param string $category flush a particular category from cache [optional] */ public function actionFlush($category = null) { if (is_null($category)) { $category = $this->prompt("Category (blank for all): "); } if (empty($category)) { $category = 'all'; } else { $category = ['category', $category]; } Cacher::invalidateGroup($category); $this->out("Done!"); }
/** * @inheritdoc */ public function afterDeleteRelation($event) { parent::afterDeleteRelation($event); Cacher::invalidateGroup(['Object', 'relations', $this->parent_object_id]); Cacher::invalidateGroup(['Object', 'relations', $this->child_object_id]); $parentObject = $this->getParentObject(false); $childObject = $this->getChildObject(false); $relationshipEvent = new RelationshipEvent(['parentEvent' => $event, 'parentObject' => $parentObject, 'childObject' => $childObject, 'relationship' => $this->relationship]); if ($parentObject) { $parentObject->objectType->trigger(TypeModule::EVENT_RELATION_DELETE, $relationshipEvent); } if ($childObject) { $childObject->objectType->trigger(TypeModule::EVENT_RELATION_DELETE, $relationshipEvent); } }
/** * [[@doctodo method_description:handleRelationChange]]. * * @param cascade\components\types\RelationshipEvent $event [[@doctodo param_description:event]] */ public function handleRelationChange(RelationshipEvent $event) { if (get_class($event->parentObject) === $this->owner->primaryModel) { Cacher::invalidateGroup('aros'); } }