<?phpnamespace App\Entity;use App\Repository\RssFeedRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=RssFeedRepository::class) */class RssFeed{ /** * @ORM\Id * * @ORM\GeneratedValue * * @ORM\Column(type="integer") */ private ?int $id; /** * @ORM\OneToMany(targetEntity="App\Entity\RssFeedCategory", mappedBy="rssFeed") */ private $rssFeedCategories; /** * @ORM\Column(type="text", nullable=false) */ private $api_path; /** * @ORM\Column(type="datetime", nullable=true) */ private $last_build_at; /** * @ORM\OneToMany(targetEntity=Article::class, mappedBy="rss_feed") */ private $articles; /** * @ORM\Column(type="string", length=255) */ private $last_synced_at; /** * @ORM\Column(type="string", length=60, nullable=true) */ private $rss_name; /** * @ORM\Column(type="boolean", options={"default" : 1}) */ private $active; public function __construct() { $this->articles = new ArrayCollection(); $this->rssFeedCategories = new ArrayCollection(); } public function getId(): ?int { return $this->id; } /** * @return mixed */ public function getApiPath() { return trim($this->api_path); } /** * @param mixed $api_path * * @return RssFeed */ public function setApiPath($api_path) { $this->api_path = trim($api_path); return $this; } public function getLastBuildAt(): ?\DateTimeInterface { return $this->last_build_at; } public function setLastBuildAt(?\DateTimeInterface $last_build_at): self { $this->last_build_at = $last_build_at; return $this; } /** * @return Collection|Article[] */ public function getArticles(): Collection { return $this->articles; } public function addArticle(Article $article): self { if (!$this->articles->contains($article)) { $this->articles[] = $article; $article->setRssFeed($this); } return $this; } public function removeArticle(Article $article): self { if ($this->articles->removeElement($article)) { // set the owning side to null (unless already changed) if ($article->getRssFeed() === $this) { $article->setRssFeed(null); } } return $this; } public function getLastSyncedAt(): ?string { return $this->last_synced_at; } public function setLastSyncedAt(string $last_synced_at): self { $this->last_synced_at = $last_synced_at; return $this; } /** * @return mixed */ public function getRssName(): ?string { return $this->rss_name; } /** * @param mixed $rss_name */ public function setRssName($rss_name): void { $this->rss_name = $rss_name; } /** * @return mixed */ public function getActive() { return $this->active; } /** * @param mixed $active */ public function setActive($active): void { $this->active = $active; } /** * @return Collection|RssFeedCategory[] */ public function getRssFeedCategories(): Collection { return $this->rssFeedCategories; } public function addRssFeedCategory(RssFeedCategory $rssFeedCategory): self { if (!$this->rssFeedCategories->contains($rssFeedCategory)) { $this->rssFeedCategories[] = $rssFeedCategory; $rssFeedCategory->setRssFeed($this); } return $this; } public function removeRssFeedCategory(RssFeedCategory $rssFeedCategory): self { if ($this->rssFeedCategories->contains($rssFeedCategory)) { $this->rssFeedCategories->removeElement($rssFeedCategory); // set the owning side to null (unless already changed) if ($rssFeedCategory->getRssFeed() === $this) { $rssFeedCategory->setRssFeed(null); } } return $this; }}