public function insert(Article $article) { $newArticle = $this->db->table(self::TABLE_NAME)->insert(array(self::COLUMN_TITLE => $article->title, self::COLUMN_CONTENT => $article->content, self::COLUMN_PUBLISHED_AT => $article->publishedAt, self::COLUMN_LAST_MODIFIED_AT => $article->lastModifiedAt, self::COLUMN_DISPLAYED => $article->displayed, self::COLUMN_VISIBLE => $article->visible, self::COLUMN_URL => $article->url, self::COLUMN_USER => $article->user->id, self::COLUMN_PHOTO => $article->photo->id, self::COLUMN_DELETED => false)); $article->setId($newArticle->id); $article->setUrl(); $newArticle->update(array(self::COLUMN_URL => $article->url)); $this->insertCategories($article, $article->categories); $this->insertTags($article, $article->tags); return $article->id; }
public static function loadFromDb(DbEntry $article) { $instance = new Article(); $instance->setId($article->id); $instance->setTitle($article->title); $instance->setContent($article->content); $instance->setPublishedAt($article->published_at); if ($article->last_modified_at) { $instance->setLastModifiedAt($article->last_modified_at); } $instance->setDisplayed($article->displayed); $instance->setVisible($article->visible); $instance->setUrl($article->url); $instance->setUser(UserService::loadFromDb($article->user)); $instance->setPhoto(PhotoService::loadFromDb($article->photo)); $instance->setTags(self::loadTagsFromDb($article)); $instance->setCategories(self::loadCategoriesFromDb($article)); $instance->setComments(self::loadCommentsFromDb($article)); return $instance; }