public function getTags()
 {
     if (!$this->_isLoaded('tags')) {
         $tags = $this->_loaders->get('tags')->load($this, true, true);
         if ($tags !== false) {
             $this->tags = $this->tags + $tags;
         }
         $this->_loaded[] = 'tags';
     }
     return parent::getTags();
 }
예제 #2
0
 protected function _updateTags(Page $page)
 {
     $this->_transaction->run("\n\t\t\t\tDELETE FROM\n\t\t\t\t\tpage_tag\n\t\t\t\tWHERE\n\t\t\t\t\tpage_id = :pageId?i\n\t\t\t", ['pageId' => $page->id]);
     $tags = $page->getTags();
     if (!empty($tags)) {
         foreach ($tags as $tag) {
             $this->_transaction->run("\n\t\t\t\t\tINSERT INTO\n\t\t\t\t\t\tpage_tag\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\tpage_id,\n\t\t\t\t\t\t\ttag_name\n\t\t\t\t\t\t)\n\t\t\t\t\tVALUES\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t:pageID?i,\n\t\t\t\t\t\t\t:tag?s\n\t\t\t\t\t\t)\n\t\t\t\t", ['pageID' => $page->id, 'tag' => $tag]);
         }
     }
 }