<?php
namespace App\Entity;
use DateTime as DateTimeAlias;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Sonata\UserBundle\Entity\BaseUser;
use Symfony\Component\Validator\Constraints as Assert;
//use Symfony\Bridge\Doctrine\Validator\Constraints as DoctrineAssert;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* @ORM\Entity
* @ORM\Table(name="user__user")
*/
class SonataUserUser extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
public function getId(): ?int
{
return $this->id;
}
/**
* @var string $name
*
* @ORM\Column(type="string", nullable=true)
*/
protected $name;
/**
* @var boolean $intranet
*
* @ORM\Column(type="boolean", nullable=true)
*/
protected $intranet;
/**
* @var DateTimeAlias $birthday
*
* @ORM\Column(type="date", nullable=true)
*/
protected $birthday;
/**
* @var string $image
*
* @ORM\ManyToOne(targetEntity="App\Entity\SonataMediaMedia", cascade = {"persist"})
* @ORM\JoinColumn(name="image_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $image;
/**
* @ORM\OneToMany(targetEntity = "App\Entity\Order", mappedBy="user")
*/
protected $orders;
/**
* @var string $user_pass_hash
*
* @ORM\Column(type="string", nullable=true)
*/
protected $user_pass_hash;
public function __construct() { $this->orders = new ArrayCollection(); }
public function getBirthday(): DateTimeAlias
{
return $this->birthday?:new DateTimeAlias('now');
}
public function setBirthday(DateTimeAlias $birthday): void
{
$this->birthday = $birthday;
}
public function getImage(): ?SonataMediaMedia
{
return $this->image;
}
public function setImage(?SonataMediaMedia $image): static
{
$this->image = $image;
return $this;
}
public function isIntranet(): ?bool
{
return $this->intranet;
}
public function setIntranet(?bool $intranet): static
{
$this->intranet = $intranet;
return $this;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(?string $name): static
{
$this->name = $name;
return $this;
}
public function getUserPassHash(): string
{
return $this->user_pass_hash;
}
public function setUserPassHash(string $user_pass_hash): void
{
$this->user_pass_hash = $user_pass_hash;
} /** * @return Collection<int, Order> */ public function getOrders(): Collection { return $this->orders; } public function addOrder(Order $order): static { if (!$this->orders->contains($order)) { $this->orders->add($order); $order->setUser($this); } return $this; } public function removeOrder(Order $order): static { if ($this->orders->removeElement($order)) { // set the owning side to null (unless already changed) if ($order->getUser() === $this) { $order->setUser(null); } } return $this; }
}