src/Cms/TagBundle/Entity/Tag.php line 21

Open in your IDE?
  1. <?php
  2. namespace Cms\TagBundle\Entity;
  3. use Cms\CoreBundle\Model\Interfaces\Nestable\NestableInterface;
  4. use Cms\CoreBundle\Model\Interfaces\Nestable\NestableTrait;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Cms\TenantBundle\Entity\TenantedEntity;
  8. use Gedmo\Mapping\Annotation as Gedmo;
  9. /**
  10.  * Class Tag
  11.  * @package Cms\TagBundle\Entity
  12.  *
  13.  * @Gedmo\Tree(type="nested")
  14.  * @ORM\Entity(repositoryClass = "Cms\TagBundle\Doctrine\TagRepository")
  15.  * @ORM\HasLifecycleCallbacks
  16.  * @ORM\Table(name = "cms__tag__tag", indexes={@ORM\Index(columns={"parent_id"})})
  17.  */
  18. class Tag extends TenantedEntity implements NestableInterface
  19. {
  20.     use NestableTrait;
  21.     /**
  22.      * Display name for the tag.
  23.      *
  24.      * @var string
  25.      *
  26.      * @ORM\Column(type = "string", nullable = false)
  27.      */
  28.     protected $name;
  29.     /**
  30.      * @var Tag
  31.      *
  32.      * @Gedmo\TreeParent
  33.      * @ORM\ManyToOne(targetEntity="Cms\TagBundle\Entity\Tag", inversedBy="children")
  34.      * @ORM\JoinColumns({@ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="CASCADE")})
  35.      */
  36.     protected $parent;
  37.     /**
  38.      * @ORM\OneToMany(targetEntity="Cms\TagBundle\Entity\Tag", mappedBy="parent")
  39.      * @ORM\OrderBy({"lft" = "ASC"})
  40.      */
  41.     protected $children;
  42.     /**
  43.      * @return string
  44.      */
  45.     public function getName()
  46.     {
  47.         return $this->name;
  48.     }
  49.     /**
  50.      * @param string $value
  51.      * @return $this
  52.      */
  53.     public function setName($value)
  54.     {
  55.         $this->name $value;
  56.         return $this;
  57.     }
  58. }