src/Entity/Scholar/Module/OriginModule.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Scholar\Module;
  3. use App\Entity\Channel\Image;
  4. use App\Entity\Scholar\OriginScholarInterface;
  5. use App\Entity\Scholar\OriginScholarPropertyTrait;
  6. use App\Entity\Scholar\ScholarStatusTrait;
  7. use App\Repository\Scholar\OriginModuleRepository;
  8. use Doctrine\Common\Collections\ArrayCollection;
  9. use Doctrine\Common\Collections\Collection;
  10. use Doctrine\ORM\Mapping as ORM;
  11. #[ORM\Table(name: 'scholar_origin_modules')]
  12. #[ORM\Entity(repositoryClass: OriginModuleRepository::class)]
  13. class OriginModule extends Module implements OriginScholarInterface
  14. {
  15. use OriginScholarPropertyTrait;
  16. use ScholarStatusTrait;
  17. #[ORM\ManyToOne(targetEntity: Image::class)]
  18. #[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]
  19. private ?Image $image = null;
  20. #[ORM\OneToMany(mappedBy: 'lockBy', targetEntity: SharedModule::class, cascade: ['remove'], fetch: 'EXTRA_LAZY', orphanRemoval: true)]
  21. private ?Collection $sharedModules;
  22. #[ORM\ManyToOne(targetEntity: Module::class, fetch: 'EXTRA_LAZY')]
  23. #[ORM\JoinColumn(nullable: true, onDelete: 'SET NULL')]
  24. private ?Module $duplicateFrom = null;
  25. public function __construct() {
  26. $this->sharedModules = new ArrayCollection();
  27. }
  28. public function getImage(): ?Image
  29. {
  30. return $this->image;
  31. }
  32. public function setImage(?Image $image): static
  33. {
  34. $this->image = $image;
  35. return $this;
  36. }
  37. public function getSharedModules(): ?Collection
  38. {
  39. return $this->sharedModules;
  40. }
  41. public function setSharedModules(?Collection $sharedModules): OriginModule
  42. {
  43. $this->sharedModules = $sharedModules;
  44. return $this;
  45. }
  46. public function getDuplicateFrom(): ?Module
  47. {
  48. return $this->duplicateFrom;
  49. }
  50. public function setDuplicateFrom(?Module $duplicateFrom): OriginModule
  51. {
  52. $this->duplicateFrom = $duplicateFrom;
  53. return $this;
  54. }
  55. }