<?php
namespace App\Entity;
use App\Repository\SubDomainOrderRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=SubDomainOrderRepository::class)
* @ORM\Table(
* name="sub_domain_order",
* indexes={
* @ORM\Index(columns={"instance_id", "domain_id", "position"}, name="IDX_SDO_CTX_POS")
* },
* uniqueConstraints={
* @ORM\UniqueConstraint(columns={"instance_id", "domain_id", "sub_domain_id"}, name="UNIQ_SDO_CTX_SUBDOMAIN")
* }
* )
*/
class SubDomainOrder
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private ?int $id = null;
/**
* @ORM\ManyToOne(targetEntity=Instance::class)
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
private ?Instance $instance = null;
/**
* @ORM\ManyToOne(targetEntity=Domain::class)
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
private ?Domain $domain = null;
/**
* @ORM\ManyToOne(targetEntity=SubDomain::class)
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
private ?SubDomain $subDomain = null;
/**
* @ORM\Column(type="integer")
*/
private int $position = 0;
public function getId(): ?int
{
return $this->id;
}
public function getInstance(): ?Instance
{
return $this->instance;
}
public function setInstance(?Instance $instance): self
{
$this->instance = $instance;
return $this;
}
public function getDomain(): ?Domain
{
return $this->domain;
}
public function setDomain(?Domain $domain): self
{
$this->domain = $domain;
return $this;
}
public function getSubDomain(): ?SubDomain
{
return $this->subDomain;
}
public function setSubDomain(?SubDomain $subDomain): self
{
$this->subDomain = $subDomain;
return $this;
}
public function getPosition(): int
{
return $this->position;
}
public function setPosition(int $position): self
{
$this->position = $position;
return $this;
}
public function __toString(): string
{
$sd = $this->subDomain?->getTitle() ?? '';
$d = $this->domain?->getTitle() ?? '';
$i = $this->instance?->getName() ?? '';
return trim(sprintf('%s | %s | %s', $i, $d, $sd));
}
}