<?php
/**
* (c) itmedia.by <info@itmedia.by>
*/
namespace Submarine\PagesBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Submarine\CoreBundle\Entity\SubmarineEntityInterface;
/**
* Class Relations
* @package Submarine\PagesBundle
*
* @ORM\Entity()
* @ORM\Table(name="submarine_pages_relations")
*/
class Relations implements SubmarineEntityInterface
{
/**
* ID
*
* @var int
* @ORM\Column(name="id", type="integer", nullable=false, unique=true)
* @ORM\Id()
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* Родительская страница
*
* @var Page
* @ORM\ManyToOne(targetEntity="Submarine\PagesBundle\Entity\Page", inversedBy="child")
* @ORM\JoinColumn(name="parent_id", referencedColumnName="id")
*/
private $parent;
/**
* Текущая страница
*
* @var Page
* @ORM\ManyToOne(targetEntity="Submarine\PagesBundle\Entity\Page", inversedBy="parents")
* @ORM\JoinColumn(name="page_id", referencedColumnName="id")
*/
private $page;
/**
* Позиция
*
* @var int
* @ORM\Column(name="position", type="integer", nullable=true)
*/
private $position = 0;
/**
* Имя сущности
* @return string
*/
public static function entityName()
{
return __CLASS__;
}
/**
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @return Page
*/
public function getPage()
{
return $this->page;
}
/**
* @param Page $page
*/
public function setPage(Page $page)
{
$this->page = $page;
}
/**
* @return Page
*/
public function getParent()
{
return $this->parent;
}
/**
* @param Page $parent
*/
public function setParent(Page $parent = null)
{
$this->parent = $parent;
}
/**
* @return int
*/
public function getPosition()
{
return $this->position;
}
/**
* @param int $position
*/
public function setPosition($position)
{
$this->position = $position;
}
}