Category.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. namespace Tree\Fixture;
  3. use Gedmo\Tree\Node as NodeInterface;
  4. use Gedmo\Mapping\Annotation as Gedmo;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7. * @ORM\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
  8. * @Gedmo\Tree(type="nested")
  9. */
  10. class Category implements NodeInterface
  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. * @Gedmo\TreeLeft
  24. * @ORM\Column(name="lft", type="integer")
  25. */
  26. private $lft;
  27. /**
  28. * @Gedmo\TreeRight
  29. * @ORM\Column(name="rgt", type="integer")
  30. */
  31. private $rgt;
  32. /**
  33. * @Gedmo\TreeParent
  34. * @ORM\ManyToOne(targetEntity="Category", inversedBy="children")
  35. * @ORM\JoinColumns({
  36. * @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="SET NULL")
  37. * })
  38. */
  39. private $parentId;
  40. /**
  41. * @Gedmo\TreeLevel
  42. * @ORM\Column(name="lvl", type="integer")
  43. */
  44. private $level;
  45. /**
  46. * @ORM\OneToMany(targetEntity="Category", mappedBy="parent")
  47. */
  48. private $children;
  49. /**
  50. * @ORM\OneToMany(targetEntity="Article", mappedBy="category")
  51. */
  52. private $comments;
  53. public function getId()
  54. {
  55. return $this->id;
  56. }
  57. public function setTitle($title)
  58. {
  59. $this->title = $title;
  60. }
  61. public function getTitle()
  62. {
  63. return $this->title;
  64. }
  65. public function setParent(Category $parent)
  66. {
  67. $this->parentId = $parent;
  68. }
  69. public function getParent()
  70. {
  71. return $this->parentId;
  72. }
  73. public function getLeft()
  74. {
  75. return $this->lft;
  76. }
  77. public function getRight()
  78. {
  79. return $this->rgt;
  80. }
  81. public function getLevel()
  82. {
  83. return $this->level;
  84. }
  85. }