public function delete() { // Delete setting on all definitions foreach (srCertificateDefinition::where(array('type_id' => $this->getTypeId()))->get() as $definition) { /** @var srCertificateDefinition $setting */ $setting = srCertificateCustomDefinitionSetting::where(array('definition_id' => $definition->getId(), 'identifier' => $this->getIdentifier()))->first(); if ($setting) { $setting->delete(); } } parent::delete(); }