src/Entity/Behaviour.php line 28

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\Sale;
  4. use App\Entity\User;
  5. use App\Entity\Vehicle;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Gedmo\Mapping\Annotation as Gedmo;
  8. /**
  9.  * @ORM\Entity
  10.  *
  11.  * @ORM\Table(
  12.  *     name="behaviour",
  13.  *     indexes={
  14.  *
  15.  *         @ORM\Index(columns={"created_at"})
  16.  *     }
  17.  * )
  18.  *
  19.  * @ORM\InheritanceType("SINGLE_TABLE")
  20.  *
  21.  * @ORM\DiscriminatorColumn(name="type", type="string")
  22.  *
  23.  * @ORM\DiscriminatorMap( {"sale" = "SaleBehaviour", "vehicle" = "VehicleBehaviour"} )
  24.  */
  25. abstract class Behaviour
  26. {
  27.     /**
  28.      * @ORM\Id
  29.      *
  30.      * @ORM\Column(type="bigint")
  31.      *
  32.      * @ORM\GeneratedValue(strategy="AUTO")
  33.      */
  34.     protected $id;
  35.     /**
  36.      * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="behaviours")
  37.      *
  38.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  39.      */
  40.     protected $user;
  41.     /**
  42.      * @ORM\Column(type="integer")
  43.      */
  44.     protected $value 1;
  45.     /**
  46.      * @ORM\Column(type="datetime", name="created_at")
  47.      */
  48.     private $createdAt;
  49.     /**
  50.      * @ORM\Column(type="datetime", name="updated_at")
  51.      */
  52.     private $updatedAt;
  53.     public function __construct(User $user)
  54.     {
  55.         $this->user $user;
  56.         $this->createdAt = new \DateTime();
  57.         $this->updatedAt = new \DateTime();
  58.     }
  59.     /**
  60.      * Returns id.
  61.      */
  62.     public function getId()
  63.     {
  64.         return $this->id;
  65.     }
  66.     /**
  67.      * Returns user.
  68.      *
  69.      * @return App\Entity\User
  70.      */
  71.     public function getUser()
  72.     {
  73.         return $this->user;
  74.     }
  75.     /**
  76.      * Sets user.
  77.      *
  78.      * @param App\Entity\User $user
  79.      */
  80.     public function setUser(?User $user null): void
  81.     {
  82.         $this->user $user;
  83.     }
  84.     /**
  85.      * Return creation date.
  86.      *
  87.      * @return \DateTime
  88.      */
  89.     public function getCreatedAt()
  90.     {
  91.         return $this->createdAt;
  92.     }
  93.     /**
  94.      * Set creation date.
  95.      */
  96.     public function setCreatedAt(\DateTime $createdAt): void
  97.     {
  98.         $this->createdAt $createdAt;
  99.     }
  100.     /**
  101.      * Return last updated date.
  102.      *
  103.      * @return \DateTime
  104.      */
  105.     public function getUpdatedAt()
  106.     {
  107.         return $this->updatedAt;
  108.     }
  109.     /**
  110.      * Set updated date.
  111.      */
  112.     public function setUpdatedAt(\DateTime $updatedAt): void
  113.     {
  114.         $this->updatedAt $updatedAt;
  115.     }
  116.     /**
  117.      * Get value.
  118.      *
  119.      * @return string $value
  120.      */
  121.     public function getValue()
  122.     {
  123.         return $this->value;
  124.     }
  125.     /**
  126.      * Set value.
  127.      *
  128.      * @param string value
  129.      */
  130.     public function setValue($value): void
  131.     {
  132.         $this->value $value;
  133.     }
  134. }