<?php
namespace App\Entity;
use App\Repository\DriversRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: DriversRepository::class)]
class Drivers
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\Column(type: 'string', length: 65, nullable: true)]
private $last_name;
#[ORM\Column(type: 'string', length: 65, nullable: true)]
private $first_name;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $adr1;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $adr2;
#[ORM\Column(type: 'string', length: 10, nullable: true)]
private $cp;
#[ORM\Column(type: 'string', length: 65, nullable: true)]
private $city;
#[ORM\Column(type: 'string', length: 45, nullable: true)]
private $tel1;
#[ORM\Column(type: 'string', length: 45, nullable: true)]
private $tel2;
#[ORM\Column(type: 'string', length: 45, nullable: true)]
private $email;
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'drivers')]
private $user;
#[ORM\OneToMany(mappedBy: 'driver', targetEntity: User::class)]
private $users;
#[ORM\ManyToOne(targetEntity: Carriers::class, inversedBy: 'drivers')]
private $carrier;
#[ORM\ManyToOne(targetEntity: RefCountry::class)]
private $ref_country;
#[ORM\OneToMany(mappedBy: 'driver', targetEntity: Litige::class)]
private Collection $litiges;
#[ORM\OneToMany(mappedBy: 'driver', targetEntity: Settings::class)]
private Collection $settings;
#[ORM\Column(type: 'boolean', options: ['default' => false])]
private $is_archived = false;
public function __construct()
{
$this->users = new ArrayCollection();
$this->litiges = new ArrayCollection();
$this->settings = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getLastName(): ?string
{
return $this->last_name;
}
public function setLastName(?string $last_name): self
{
$this->last_name = $last_name;
return $this;
}
public function getFirstName(): ?string
{
return $this->first_name;
}
public function setFirstName(?string $first_name): self
{
$this->first_name = $first_name;
return $this;
}
public function getAdr1(): ?string
{
return $this->adr1;
}
public function setAdr1(?string $adr1): self
{
$this->adr1 = $adr1;
return $this;
}
public function getAdr2(): ?string
{
return $this->adr2;
}
public function setAdr2(?string $adr2): self
{
$this->adr2 = $adr2;
return $this;
}
public function getCp(): ?string
{
return $this->cp;
}
public function setCp(?string $cp): self
{
$this->cp = $cp;
return $this;
}
public function getCity(): ?string
{
return $this->city;
}
public function setCity(?string $city): self
{
$this->city = $city;
return $this;
}
public function getTel1(): ?string
{
return $this->tel1;
}
public function setTel1(?string $tel1): self
{
$this->tel1 = $tel1;
return $this;
}
public function getTel2(): ?string
{
return $this->tel2;
}
public function setTel2(?string $tel2): self
{
$this->tel2 = $tel2;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(?string $email): self
{
$this->email = $email;
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
/**
* @return Collection<int, User>
*/
public function getUsers(): Collection
{
return $this->users;
}
public function addUser(User $user): self
{
if (!$this->users->contains($user)) {
$this->users[] = $user;
$user->setDriver($this);
}
return $this;
}
public function removeUser(User $user): self
{
if ($this->users->removeElement($user)) {
// set the owning side to null (unless already changed)
if ($user->getDriver() === $this) {
$user->setDriver(null);
}
}
return $this;
}
public function getCarrier(): ?Carriers
{
return $this->carrier;
}
public function setCarrier(?Carriers $carrier): self
{
$this->carrier = $carrier;
return $this;
}
public function getRefCountry(): ?RefCountry
{
return $this->ref_country;
}
public function setRefCountry(?RefCountry $ref_country): self
{
$this->ref_country = $ref_country;
return $this;
}
/**
* @return Collection<int, Litige>
*/
public function getLitiges(): Collection
{
return $this->litiges;
}
public function addLitige(Litige $litige): static
{
if (!$this->litiges->contains($litige)) {
$this->litiges->add($litige);
$litige->setDriver($this);
}
return $this;
}
public function removeLitige(Litige $litige): static
{
if ($this->litiges->removeElement($litige)) {
// set the owning side to null (unless already changed)
if ($litige->getDriver() === $this) {
$litige->setDriver(null);
}
}
return $this;
}
/**
* @return Collection<int, Settings>
*/
public function getSettings(): Collection
{
return $this->settings;
}
public function addSetting(Settings $setting): static
{
if (!$this->settings->contains($setting)) {
$this->settings->add($setting);
$setting->setDriver($this);
}
return $this;
}
public function removeSetting(Settings $setting): static
{
if ($this->settings->removeElement($setting)) {
// set the owning side to null (unless already changed)
if ($setting->getDriver() === $this) {
$setting->setDriver(null);
}
}
return $this;
}
public function getIsArchived(): ?bool
{
return $this->is_archived;
}
public function setIsArchived(bool $is_archived): self
{
$this->is_archived = $is_archived;
return $this;
}
}