<?phpnamespace App\Entity;use App\Repository\TipoLecturaRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=TipoLecturaRepository::class) */class TipoLectura{ /** * @ORM\Id() * @ORM\GeneratedValue() * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $nombre; /** * @ORM\OneToMany(targetEntity=Contrato::class, mappedBy="tipoLectura") */ private $contratos; /** * @ORM\OneToMany(targetEntity=Factura::class, mappedBy="tipoLectura") */ private $facturas; /** * @ORM\OneToMany(targetEntity=Factura::class, mappedBy="tipoLecturaAnterior") */ private $facturasAnteriores; public function __construct() { $this->contratos = new ArrayCollection(); $this->facturas = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getNombre(): ?string { return $this->nombre; } public function setNombre(string $nombre): self { $this->nombre = $nombre; return $this; } /** * @return Collection|Contrato[] */ public function getContratos(): Collection { return $this->contratos; } public function addContrato(Contrato $contrato): self { if (!$this->contratos->contains($contrato)) { $this->contratos[] = $contrato; $contrato->setTipoLectura($this); } return $this; } public function removeContrato(Contrato $contrato): self { if ($this->contratos->contains($contrato)) { $this->contratos->removeElement($contrato); // set the owning side to null (unless already changed) if ($contrato->getTipoLectura() === $this) { $contrato->setTipoLectura(null); } } return $this; } /** * @return Collection|Factura[] */ public function getFacturas(): Collection { return $this->facturas; } public function addFactura(Factura $factura): self { if (!$this->facturas->contains($factura)) { $this->facturas[] = $factura; $factura->setTipoLectura($this); } return $this; } public function removeFactura(Factura $factura): self { if ($this->facturas->contains($factura)) { $this->facturas->removeElement($factura); // set the owning side to null (unless already changed) if ($factura->getTipoLectura() === $this) { $factura->setTipoLectura(null); } } return $this; } public function __toString():?string { return $this->nombre; }}