protected function refreshRelatedStones() { $relatedStones = $this->relatedStonesArray; InteriorStoneRelation::model()->deleteAllByAttributes(array('entity_id' => $this->id, 'entity_name' => 'Interior')); if (is_array($relatedStones)) { foreach ($relatedStones as $id) { if (Stone::model()->exists('t.id = :id', array(':id' => $id))) { $relation = new InteriorStoneRelation(); $relation->entity_id = $this->id; $relation->stone_id = $id; $relation->save(); } } } }