<?phpnamespace App\AtechNet\CoreBundle\Entity;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\ORM\Mapping\Entity;use Doctrine\ORM\Mapping\JoinColumn;use Doctrine\ORM\Mapping\ManyToOne;use Doctrine\ORM\Mapping\OneToMany;use Doctrine\ORM\Mapping\OrderBy;use Doctrine\ORM\Mapping\Table as Table;/** * StaticPage * * @Table(name="pages_static") * @Entity() */class StaticPage extends AbstractPage{ /** * @var Domain * * @ManyToOne(targetEntity="Domain") * @JoinColumn(name="domain_id", referencedColumnName="id") */ private $domain; /** * @var ArrayCollection * * @OneToMany(targetEntity="PageMeta", mappedBy="staticPage", orphanRemoval=true, cascade={"persist", "remove"}) * @OrderBy({"id" = "ASC"}) **/ private $metas; public function __construct() { parent::__construct(); $this->metas = new ArrayCollection(); } /** * @return Domain */ public function getDomain() { return $this->domain; } /** * @param Domain $domain */ public function setDomain($domain) { $this->domain = $domain; } /** * @return string */ public function getLink() { return $this->link; } /** * @param string $link */ public function setLink($link) { $this->link = $link; } /** * @return ArrayCollection */ public function getMetas() { return $this->metas; } /** * @return string */ public function getLanguage() { return $this->getDomain()->getLanguage()->getCode(); } /** * @param Language $language * @return null|PageMeta */ public function getMetaByLanguage(Language $language) { foreach ($this->getMetas() as $meta) { if ($meta->getLanguage()->getCode() == $language->getCode()) { return $meta; } } return null; } /** * @param string $code * @return null|PageMeta */ public function getMetaByCode($code) { foreach ($this->getMetas() as $meta) { if ($meta->getLanguage()->getCode() == $code) { return $meta; } } return null; }}