['client:read']], denormalizationContext: ['groups' => ['client:write']], order: ['name' => 'ASC'], )] #[ORM\Entity(repositoryClass: DoctrineClientRepository::class)] class Client implements ClientInterface, TimestampableInterface, BlamableInterface { use TimestampableBlamableTrait; #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] #[Groups(['client:read', 'project:read', 'user:list'])] private ?int $id = null; #[ORM\Column(length: 255)] #[Groups(['client:read', 'client:write', 'project:read', 'user:list'])] private ?string $name = null; #[ORM\Column(length: 255, nullable: true)] #[Groups(['client:read', 'client:write'])] private ?string $email = null; #[ORM\Column(length: 50, nullable: true)] #[Groups(['client:read', 'client:write'])] private ?string $phone = null; #[ORM\Column(length: 255, nullable: true)] #[Groups(['client:read', 'client:write'])] private ?string $website = null; /** @var Collection */ #[ORM\OneToMany(targetEntity: ProjectInterface::class, mappedBy: 'client')] private Collection $projects; public function __construct() { $this->projects = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getName(): ?string { return $this->name; } public function setName(string $name): static { $this->name = $name; return $this; } public function getEmail(): ?string { return $this->email; } public function setEmail(?string $email): static { $this->email = $email; return $this; } public function getPhone(): ?string { return $this->phone; } public function setPhone(?string $phone): static { $this->phone = $phone; return $this; } public function getWebsite(): ?string { return $this->website; } public function setWebsite(?string $website): static { $this->website = $website; return $this; } /** @return Collection */ public function getProjects(): Collection { return $this->projects; } }