Role.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. namespace Tree\Fixture;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. /**
  5. * @Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
  6. * @Table(name="`role`")
  7. * @InheritanceType("JOINED")
  8. * @DiscriminatorColumn(name="discr", type="string")
  9. * @DiscriminatorMap({"user" = "User", "usergroup" = "UserGroup"})
  10. * @gedmo:Tree(type="nested")
  11. */
  12. abstract class Role {
  13. /**
  14. * @Column(name="id", type="integer")
  15. * @Id
  16. * @GeneratedValue
  17. * @var int
  18. */
  19. private $id;
  20. /**
  21. * @gedmo:TreeParent
  22. * @ManyToOne(targetEntity="UserGroup", inversedBy="children")
  23. * @var UserGroup
  24. */
  25. private $parent;
  26. /**
  27. * @OneToMany(targetEntity="Role", mappedBy="parent")
  28. * @var Doctrine\Common\Collections\ArrayCollection
  29. */
  30. protected $children;
  31. /**
  32. * @gedmo:TreeLeft
  33. * @Column(name="lft", type="integer")
  34. */
  35. private $lft;
  36. /**
  37. * @gedmo:TreeRight
  38. * @Column(name="rgt", type="integer")
  39. */
  40. private $rgt;
  41. /**
  42. * @gedmo:TreeLevel
  43. * @Column(name="lvl", type="integer")
  44. */
  45. private $lvl;
  46. /**
  47. * @Column(name="role", type="string", length=255, nullable=false)
  48. * @var string
  49. */
  50. private $role;
  51. public function __construct() {
  52. $this->children = new ArrayCollection();
  53. }
  54. /**
  55. * @return UserGroup
  56. */
  57. public function getParent() {
  58. return $this->parent;
  59. }
  60. /**
  61. * @param UserGroup $parent
  62. * @return Role
  63. */
  64. public function setParent(UserGroup $parent) {
  65. $this->parent = $parent;
  66. return $this;
  67. }
  68. public function getRoleId() {
  69. return $this->role;
  70. }
  71. protected function setRoleId($roleId) {
  72. $this->role = (string)$roleId;
  73. return $this;
  74. }
  75. public function __toString() {
  76. return $this->getRoleId();
  77. }
  78. public function getId() {
  79. return $this->id;
  80. }
  81. public function getLeft()
  82. {
  83. return $this->lft;
  84. }
  85. public function getRight()
  86. {
  87. return $this->rgt;
  88. }
  89. public function getLevel()
  90. {
  91. return $this->lvl;
  92. }
  93. }