vendor/score/cms/src/Entity/OptionGroup.php line 17

Open in your IDE?
  1. <?php
  2. namespace Score\CmsBundle\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Score\BaseBundle\Entity\BaseEntity;
  7. use \Score\CmsBundle\Entity\Option;
  8. use \Score\CmsBundle\Entity\User;
  9. /**
  10.  * @ORM\Entity
  11.  * @ORM\Table(name="cms_optiongroup")
  12.  * @ORM\HasLifecycleCallbacks()
  13.  */
  14. class OptionGroup extends BaseEntity
  15. {
  16.     /**
  17.      * @ORM\Column(name="g_name", type="string", length=255, nullable=true)
  18.      */
  19.     private $name;
  20.     /**
  21.      * @ORM\Column(name="g_checkusers", type="boolean")
  22.      */
  23.     private $checkUsers false;
  24.     /**
  25.      * Many (but one) OptionGroup have Many Options.
  26.      * @ORM\ManyToMany(targetEntity=Option::class)
  27.      * @ORM\JoinTable(name="cms_conn_option_optiongroup",
  28.      *      joinColumns={@ORM\JoinColumn(name="optiongroup_id", referencedColumnName="id")},
  29.      *      inverseJoinColumns={@ORM\JoinColumn(name="optionr_id", referencedColumnName="id", unique=true)}
  30.      *      )
  31.      */     
  32.     private $options;
  33.     /**
  34.      * Many OptionGroups have Many Users.
  35.      * @ORM\ManyToMany(targetEntity=User::class)
  36.      * @ORM\JoinTable(name="cms_conn_user_optiongroup",
  37.      *      joinColumns={@ORM\JoinColumn(name="o_group_id", referencedColumnName="id")},
  38.      *      inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}
  39.      *      )
  40.      */
  41.     private $users;
  42.     public function __construct()
  43.     {
  44.         $this->options = new ArrayCollection();
  45.         $this->users = new ArrayCollection();
  46.     }
  47.     /**
  48.      * Get the value of name
  49.      */ 
  50.     public function getName(): ?string
  51.     {
  52.         return $this->name;
  53.     }
  54.     /**
  55.      * Set the value of name
  56.      *
  57.      * @return  self
  58.      */ 
  59.     public function setName(?string $name): self
  60.     {
  61.         $this->name $name;
  62.         return $this;
  63.     }
  64.     public function getCheckUsers(): ?bool
  65.     {
  66.         return $this->checkUsers;
  67.     }
  68.     public function setCheckUsers(bool $checkUsers): self
  69.     {
  70.         $this->checkUsers $checkUsers;
  71.         return $this;
  72.     }
  73.     /**
  74.      * @return Collection|Option[]
  75.      */
  76.     public function getOptions(): Collection
  77.     {
  78.         return $this->options;
  79.     }
  80.     public function addOption(Option $option): self
  81.     {
  82.         if (!$this->options->contains($option)) {
  83.             $this->options[] = $option;
  84.         }
  85.         return $this;
  86.     }
  87.     public function removeOption(Option $option): self
  88.     {
  89.         $this->options->removeElement($option);
  90.         return $this;
  91.     }
  92.     /**
  93.      * @return Collection|User[]
  94.      */
  95.     public function getUsers(): Collection
  96.     {
  97.         return $this->users;
  98.     }
  99.     public function addUser(User $user): self
  100.     {
  101.         if (!$this->users->contains($user)) {
  102.             $this->users[] = $user;
  103.         }
  104.         return $this;
  105.     }
  106.     public function removeUser(User $user): self
  107.     {
  108.         $this->users->removeElement($user);
  109.         return $this;
  110.     }
  111. }