src/Entity/SalesCaseAttachment.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use DateTime;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Component\Validator\Constraints as Assert;
  6. /**
  7.  * @ORM\Entity(
  8.  *     repositoryClass="App\Repository\SalesCaseAttachmentRepository"
  9.  * )
  10.  * @ORM\Table(
  11.  *     name="sales_case_attachment",
  12.  *     options={"collate"="utf8_swedish_ci"}
  13.  * )
  14.  * @ORM\HasLifecycleCallbacks
  15.  */
  16. class SalesCaseAttachment implements EntityInterface
  17. {
  18.     /**
  19.      * @ORM\Id
  20.      * @ORM\Column(
  21.      *     type="integer"
  22.      * )
  23.      * @ORM\GeneratedValue(
  24.      *     strategy="AUTO"
  25.      * )
  26.      *
  27.      * @var int|null
  28.      */
  29.     protected ?int $id null;
  30.     /**
  31.      * @ORM\Column(
  32.      *     type="datetime"
  33.      * )
  34.      *
  35.      * @Assert\NotBlank
  36.      *
  37.      * @var DateTime
  38.      */
  39.     protected DateTime $created;
  40.     /**
  41.      * @ORM\OneToOne(
  42.      *     targetEntity="File",
  43.      *     cascade={"persist","remove"},
  44.      *     orphanRemoval=true
  45.      * )
  46.      * @ORM\JoinColumn(
  47.      *     name="file_id"
  48.      * )
  49.      *
  50.      * @Assert\NotNull
  51.      * @Assert\Valid
  52.      *
  53.      * @var File
  54.      */
  55.     protected File $file;
  56.     /**
  57.      * @ORM\ManyToOne(
  58.      *     targetEntity="SalesCase",
  59.      *     inversedBy="attachments"
  60.      * )
  61.      * @ORM\JoinColumn(
  62.      *     name="sales_case_id",
  63.      *     referencedColumnName="id",
  64.      *     onDelete="cascade"
  65.      * )
  66.      *
  67.      * @Assert\NotNull
  68.      *
  69.      * @var SalesCase
  70.      */
  71.     protected SalesCase $salesCase;
  72.     /**
  73.      * @param SalesCase $salesCase
  74.      * @param File      $file
  75.      */
  76.     public function __construct(SalesCase $salesCaseFile $file)
  77.     {
  78.         $this->salesCase $salesCase;
  79.         $this->file $file;
  80.         $this->created = new DateTime();
  81.     }
  82.     /**
  83.      * @return DateTime
  84.      */
  85.     public function getCreated(): DateTime
  86.     {
  87.         return $this->created;
  88.     }
  89.     /**
  90.      * @return File
  91.      */
  92.     public function getFile(): File
  93.     {
  94.         return $this->file;
  95.     }
  96.     /**
  97.      * @return int|null
  98.      */
  99.     public function getId(): ?int
  100.     {
  101.         return $this->id;
  102.     }
  103.     /**
  104.      * @return SalesCase
  105.      */
  106.     public function getSalesCase(): SalesCase
  107.     {
  108.         return $this->salesCase;
  109.     }
  110.     /**
  111.      * @ORM\PrePersist
  112.      */
  113.     public function prePersist()
  114.     {
  115.         $this->created = new DateTime();
  116.     }
  117. }