| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- namespace internship\bo;
- use n2n\persistence\orm\attribute\ManyToMany;
- use nql\bo\BlogArticle;
- use n2n\reflection\ObjectAdapter;
- class Category extends ObjectAdapter implements \JsonSerializable {
- public int $id;
- public string $name;
- /**
- * @var \ArrayObject<Article>
- */
- #[ManyToMany(Article::class)]
- public \ArrayObject $articles;
- public function getBlogArticles() {
- return $this->blogArticles;
- }
- public function setBlogArticles(\ArrayObject $blogArticles) {
- $this->blogArticles = $blogArticles;
- }
- private function getArticleIds() {
- $articles = array();
- foreach($this->articles as $article) {
- $articles[] = $article->basicJsonSerialize();
- }
- return $articles;
- }
- function jsonSerialize(): mixed {
- return [
- 'id' => $this->id,
- 'name' => $this->name,
- 'articles' => $this->getArticleIds()
- ];
- }
- }
|