src/Entity/ItemIndicator.php line 45
<?phpdeclare(strict_types=1);namespace App\Entity;use ApiPlatform\Core\Annotation\ApiResource;use ApiPlatform\Core\Annotation\ApiSubresource;use App\Controller\Api\Action\ItemIndicator\ItemIndicatorGetAction;use App\Entity\Mapped\Entity;use App\Repository\ItemIndicatorRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\Validator\Constraints as Assert;#[ORM\Entity(repositoryClass: ItemIndicatorRepository::class)]#[ORM\Table(name: 'item_indicator')]#[ApiResource(collectionOperations: ['post' => ['validation_groups' => ['create']],'get_list' => ['controller' => ItemIndicatorGetAction::class,'method' => 'GET','path' => '/item/{id}/indicators']],itemOperations: ['get','delete','put' => ['validation_groups' => ['update']]])]class ItemIndicator extends Entity{#[ORM\ManyToOne(targetEntity: Item::class,cascade: ['persist'],inversedBy: 'indicators')]#[ORM\JoinColumn(name: 'item')]#[Assert\NotBlank(groups: ['create', 'update'])]#[ApiSubresource]private ?Item $item = null;#[ORM\ManyToOne(targetEntity: Indicator::class,cascade: ['persist'])]#[ORM\JoinColumn(name: 'indicator')]#[Assert\NotBlank(groups: ['create', 'update'])]#[ApiSubresource]private ?Indicator $indicator = null;#[ORM\OneToMany(mappedBy: 'itemIndicator',targetEntity: ItemDocumentIndicator::class,cascade: ['persist'],fetch: 'EXTRA_LAZY',orphanRemoval: true)]private iterable $documentIndicators;public function __construct(){$this->documentIndicators = new ArrayCollection();}public function getItem(): ?Item{return $this->item;}public function setItem(?Item $item): self{$this->item = $item;return $this;}public function getIndicator(): ?Indicator{return $this->indicator;}public function setIndicator(?Indicator $indicator): self{$this->indicator = $indicator;return $this;}public function getDocumentIndicators(): iterable{return $this->documentIndicators;}public function addDocumentIndicator(ItemDocumentIndicator $itemDocumentIndicator): void{if ($this->documentIndicators->contains($itemDocumentIndicator)) {return;}$this->documentIndicators[] = $itemDocumentIndicator;$itemDocumentIndicator->setItemIndicator($this);}public function removeDocumentIndicator(ItemDocumentIndicator $itemDocumentIndicator): void{if (!$this->documentIndicators->contains($itemDocumentIndicator)) {return;}$this->documentIndicators->removeElement($itemDocumentIndicator);$itemDocumentIndicator->setItemIndicator(null);}}