/** * @param stdClass $obj * @return Post */ public static function fromObject(stdClass $obj) { $post = new Post(); $post->title = $obj->title; $post->slug = $obj->slug; $post->date = $obj->date; $post->body = $obj->body; if (!empty($obj->tags)) { $post->setTags($obj->tags); } if (!empty($obj->categories)) { $post->setCategories($obj->categories); } if (!empty($obj->author)) { $post->setAuthor($obj->author); } return $post; }
protected function postExtendedTableFormatToModels($tableResults) { $posts = []; foreach ($tableResults as $row) { $props = $row['post']; $props['categories'] = []; foreach ($row['categories'] as $categoryArray) { $props['categories'][] = Category::fromArray($categoryArray); } $props['tags'] = []; foreach ($row['tags'] as $tagArray) { $props['tags'][] = Tag::fromArray($tagArray); } $props['author'] = Author::fromArray($row['author']); $posts[] = Post::fromArray($props); } return $posts; }