protected function refreshCategories() { $categories = $this->categoriesArray; PublicationToCategory::model()->deleteAllByAttributes(['publication_id' => $this->id]); if (is_array($categories)) { foreach ($categories as $id) { if (PublicationCategory::model()->exists('t.id = :id', [':id' => $id])) { $publicationToCategory = new PublicationToCategory(); $publicationToCategory->publication_id = $this->id; $publicationToCategory->category_id = $id; $publicationToCategory->save(); } } } }
public function beforeDelete() { PublicationToCategory::model()->deleteAllByAttributes(['category_id' => $this->id]); return parent::beforeDelete(); }