add(NagiosServiceTemplateInheritancePeer::SOURCE_TEMPLATE, $targetTemplateId); $inheritances = NagiosServiceTemplateInheritancePeer::doSelect($c); foreach($inheritances as $inheritance) { if(NagiosServiceTemplateInheritance::isCircular($inheritance->getTargetTemplate(), $originalSourceTemplateId)) return true; } } return false; } public function save(PropelPDO $con = null) { if(NagiosServiceTemplateInheritance::isCircular($this->getTargetTemplate(), $this->getSourceTemplate())) { throw new Exception("Adding that inheritance would create a circular chain."); } else { parent::save($con); // Okay, we've saved } } } // NagiosServiceTemplateInheritance