Category.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace Tree\Fixture\Closure;
  3. use Gedmo\Mapping\Annotation as Gedmo;
  4. use Doctrine\ORM\Mapping as ORM;
  5. /**
  6. * @Gedmo\Tree(type="closure")
  7. * @Gedmo\TreeClosure(class="Tree\Fixture\Closure\CategoryClosure")
  8. * @ORM\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\ClosureTreeRepository")
  9. */
  10. class Category
  11. {
  12. /**
  13. * @ORM\Column(name="id", type="integer")
  14. * @ORM\Id
  15. * @ORM\GeneratedValue
  16. */
  17. private $id;
  18. /**
  19. * @ORM\Column(name="title", type="string", length=64)
  20. */
  21. private $title;
  22. /**
  23. * @ORM\Column(name="level", type="integer", nullable=true)
  24. * @Gedmo\TreeLevel
  25. */
  26. private $level;
  27. /**
  28. * @Gedmo\TreeParent
  29. * @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="CASCADE")
  30. * @ORM\ManyToOne(targetEntity="Category", inversedBy="children")
  31. */
  32. private $parent;
  33. public function getId()
  34. {
  35. return $this->id;
  36. }
  37. public function setTitle($title)
  38. {
  39. $this->title = $title;
  40. }
  41. public function getTitle()
  42. {
  43. return $this->title;
  44. }
  45. public function setParent(Category $parent = null)
  46. {
  47. $this->parent = $parent;
  48. }
  49. public function getParent()
  50. {
  51. return $this->parent;
  52. }
  53. public function addClosure(CategoryClosure $closure)
  54. {
  55. $this->closures[] = $closure;
  56. }
  57. public function setLevel($level)
  58. {
  59. $this->level = $level;
  60. }
  61. public function getLevel()
  62. {
  63. return $this->level;
  64. }
  65. }