| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- namespace internship\bo;
- use n2n\reflection\ObjectAdapter;
- use n2n\persistence\orm\attribute\OneToMany;
- use n2n\persistence\orm\CascadeType;
- class ArticleGroup extends ObjectAdapter implements \JsonSerializable{
- private int $id;
- private string $name;
- #[OneToMany(Article::class, 'articleGroup', CascadeType::ALL)]
- private \ArrayObject $articles;
- /**
- * @return int
- */
- public function getId(): int {
- return $this->id;
- }
- /**
- * @param int $id
- */
- public function setId(int $id): void {
- $this->id = $id;
- }
- /**
- * @return string
- */
- public function getName(): string {
- return $this->name;
- }
- /**
- * @param string name
- */
- public function setName(string $name): void {
- $this->name = $name;
- }
- /**
- * @return \ArrayObject<Article>
- */
- public function getArticles(): \ArrayObject{
- return $this->articles;
- }
- /**
- * @param \ArrayObject<Article> articles
- */
- public function setArticles(\ArrayObject $articles): void {
- foreach ($this->articles as $article) {
- $article->setArticleGroup(null);
- }
- foreach ($articles as $article) {
- $article->setArticleGroup($this);
- }
- $this->articles = $articles;
- }
- function jsonSerialize(): mixed {
- return [
- 'id' => $this->id,
- 'name' => $this->name,
- 'articles' => $this->articles->getArrayCopy()
- ];
- }
- }
|