src/Entity/User.php line 16

Open in your IDE?
  1. <?php
  2. // src/AppBundle/Entity/User.php
  3. namespace App\Entity;
  4. use FOS\UserBundle\Model\User as BaseUser;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use JMS\Serializer\Annotation\ExclusionPolicy;
  7. use JMS\Serializer\Annotation\Exclude;
  8. /**
  9.  * @ORM\Entity
  10.  * @ORM\Table(name="users")
  11.  * @ExclusionPolicy("none")
  12.  */
  13. class User extends BaseUser
  14. {
  15.     /**
  16.      * @ORM\Id
  17.      * @ORM\Column(type="integer")
  18.      * @ORM\GeneratedValue(strategy="AUTO")
  19.      */
  20.     protected $id;
  21.     /**
  22.      * @var string
  23.      *
  24.      * @ORM\Column(name="name", type="string", length=255, nullable=true)
  25.      */
  26.     private $name;
  27.     /**
  28.      * @ORM\ManyToMany(targetEntity="Survey", inversedBy="users", cascade={"persist"})
  29.      * @ORM\JoinTable(
  30.      *     joinColumns={@ORM\JoinColumn(nullable=true, onDelete="SET NULL")},
  31.      *     inverseJoinColumns={@ORM\JoinColumn(nullable=true, onDelete="SET NULL")}
  32.      * )
  33.      * @Exclude()
  34.      */
  35.     private $surveys;
  36.     /**
  37.      * @ORM\OneToMany(targetEntity="Result", mappedBy="user")
  38.      * @Exclude()
  39.      */
  40.     private $results;
  41.     public function __construct()
  42.     {
  43.         parent::__construct();
  44.         $this->surveys = new \Doctrine\Common\Collections\ArrayCollection();
  45.     }
  46.     public function __toString()
  47.     {
  48.         if (!$this->name) {
  49.             return '';
  50.         }
  51.         return $this->name;
  52.     }
  53.     /**
  54.      * Set name
  55.      *
  56.      * @param string $name
  57.      *
  58.      * @return User
  59.      */
  60.     public function setName($name)
  61.     {
  62.         $this->name $name;
  63.         return $this;
  64.     }
  65.     /**
  66.      * Get name
  67.      *
  68.      * @return string
  69.      */
  70.     public function getName()
  71.     {
  72.         return $this->name;
  73.     }
  74.     /**
  75.      * Set email
  76.      *
  77.      * @param string $email
  78.      *
  79.      * @return User
  80.      */
  81.     public function setEmail($email)
  82.     {
  83.          $this->email $email;
  84.          $this->username $email;
  85.  
  86.          return $this;
  87.     }
  88.     /**
  89.      * Set surveys
  90.      *
  91.      * @param \App\Entity\Survey $surveys
  92.      *
  93.      * @return Result
  94.      */
  95.     public function setSurveys(\App\Entity\Survey $surveys)
  96.     {
  97.         $this->surveys $surveys;
  98.         return $this;
  99.     }
  100.     /**
  101.      * Get surveys
  102.      *
  103.      * @return int
  104.      */
  105.     public function getSurveys()
  106.     {
  107.         return $this->surveys;
  108.     }
  109.     /**
  110.      * Set results
  111.      *
  112.      * @param \App\Entity\Result $results
  113.      *
  114.      * @return Result
  115.      */
  116.     public function setResults(\App\Entity\Result $results)
  117.     {
  118.         $this->results $results;
  119.         return $this;
  120.     }
  121.     /**
  122.      * Get results
  123.      *
  124.      * @return int
  125.      */
  126.     public function getResults()
  127.     {
  128.         return $this->results;
  129.     }
  130.     /**
  131.      * Add survey
  132.      *
  133.      * @param \App\Entity\Survey $survey
  134.      *
  135.      * @return User
  136.      */
  137.     public function addSurvey(\App\Entity\Survey $survey)
  138.     {
  139.         $this->surveys[] = $survey;
  140.         return $this;
  141.     }
  142.     /**
  143.      * Remove survey
  144.      *
  145.      * @param \App\Entity\Survey $survey
  146.      */
  147.     public function removeSurvey(\App\Entity\Survey $survey)
  148.     {
  149.         $this->surveys->removeElement($survey);
  150.     }
  151.     /**
  152.      * Add result
  153.      *
  154.      * @param \App\Entity\Result $result
  155.      *
  156.      * @return User
  157.      */
  158.     public function addResult(\App\Entity\Result $result)
  159.     {
  160.         $this->results[] = $result;
  161.         return $this;
  162.     }
  163.     /**
  164.      * Remove result
  165.      *
  166.      * @param \App\Entity\Result $result
  167.      */
  168.     public function removeResult(\App\Entity\Result $result)
  169.     {
  170.         $this->results->removeElement($result);
  171.     }
  172. }