Newer
Older
<?php
namespace App\Entity;
use App\Repository\SettlementRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Uid\Uuid;
#[ORM\Entity(repositoryClass: SettlementRepository::class)]
class Settlement
{
#[ORM\Id]
#[ORM\Column(type: UuidType::NAME, unique: true)]
#[ORM\GeneratedValue(strategy: 'CUSTOM')]
#[ORM\CustomIdGenerator(class: 'doctrine.uuid_generator')]
#[ORM\Column(length: 255)]
private ?string $name = null;
#[ORM\Column(length: 255)]
private ?string $code = null;
#[ORM\Column(type: Types::ARRAY)]
private array $coordinates = [];
#[ORM\Column(type: Types::DATETIME_IMMUTABLE)]
private ?\DateTimeInterface $createAt = null;
#[ORM\Column(type: Types::DATETIME_IMMUTABLE)]
private ?\DateTimeInterface $updateAt = null;
/**
*/
#[ORM\OneToMany(targetEntity: Restaurant::class, mappedBy: 'settlementId')]
private Collection $restaurants;
public function __construct()
{
$this->restaurants = new ArrayCollection();
}
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): static
{
$this->name = $name;
return $this;
}
public function getCode(): ?string
{
return $this->code;
}
public function setCode(string $code): static
{
$this->code = $code;
return $this;
}
public function getCoordinates(): array
{
return $this->coordinates;
}
public function setCoordinates(array $coordinates): static
{
$this->coordinates = $coordinates;
return $this;
}
public function getCreateAt(): ?\DateTimeInterface
{
return $this->createAt;
}
public function setCreateAt(\DateTimeInterface $createAt): static
{
$this->createAt = $createAt;
return $this;
}
public function getUpdateAt(): ?\DateTimeInterface
{
return $this->updateAt;
}
public function setUpdateAt(\DateTimeInterface $updateAt): static
{
$this->updateAt = $updateAt;
return $this;
}
/**
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
*/
public function getRestaurants(): Collection
{
return $this->restaurants;
}
public function addRestaurant(Restaurant $restaurant): static
{
if (!$this->restaurants->contains($restaurant)) {
$this->restaurants->add($restaurant);
$restaurant->setSettlementId($this);
}
return $this;
}
public function removeRestaurant(Restaurant $restaurant): static
{
if ($this->restaurants->removeElement($restaurant)) {
// set the owning side to null (unless already changed)
if ($restaurant->getSettlementId() === $this) {
$restaurant->setSettlementId(null);
}
}
return $this;
}
}