<?phpnamespace App\Entity;use App\Repository\ItemRepository;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;#[ORM\Entity(repositoryClass: ItemRepository::class)]class Item{ #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] private ?int $id = null; #[ORM\Column(length: 255)] private ?string $code = null; #[ORM\Column(length: 255)] private ?string $name = null; #[ORM\Column] private ?bool $is_active = null; #[ORM\Column(type: Types::TEXT, nullable: true)] private ?string $details = null; #[ORM\Column(length: 255, nullable: true)] private ?string $image = null; public function getId(): ?int { return $this->id; } public function getCode(): ?string { return $this->code; } public function setCode(string $code): static { $this->code = $code; return $this; } public function getName(): ?string { return $this->name; } public function setName(string $name): static { $this->name = $name; return $this; } public function isIsActive(): ?bool { return $this->is_active; } public function setIsActive(bool $is_active): static { $this->is_active = $is_active; return $this; } public function getDetails(): ?string { return $this->details; } public function setDetails(?string $details): static { $this->details = $details; return $this; } public function getImage(): ?string { return $this->image; } public function setImage(?string $image): static { $this->image = $image; return $this; } public function getImageUrl(): ?string { if (!$this->image) { return null; } if (strpos($this->image, '/') !== false) { return $this->image; } return sprintf('/uploads/items/%s', $this->image); }}