<?php
namespace App\AtechNet\CoreBundle\Entity;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\JoinColumn;
use Doctrine\ORM\Mapping\ManyToOne;
use Doctrine\ORM\Mapping\Table as Table;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @Table(name="seo_url")
* @UniqueEntity(
* fields={"language","domain","keyword"},
* errorPath="keyword",
* message="The keyword is already in use for this language and domain."
* )
* @Entity
*/
class SeoUrl extends AbstractEntity
{
/**
* @var Language
*
* @Assert\NotNull
*
* @ManyToOne(targetEntity="Language")
* @JoinColumn(name="language_id", referencedColumnName="id")
*/
private $language;
/**
* @var Domain
* @ManyToOne(targetEntity="Domain")
* @JoinColumn(name="domain_id", referencedColumnName="id", nullable=true)
*/
private $domain;
/**
* @Column(type="string", length=255)
*/
private $query;
/**
* @Column(type="string", length=255)
*/
private $keyword;
/**
* @Column(name="archived", type="boolean")
*/
private $archived = 0;
/**
* @return Language
*/
public function getLanguage()
{
return $this->language;
}
/**
* @param Language $language
*/
public function setLanguage($language)
{
$this->language = $language;
}
/**
* @return Domain
*/
public function getDomain()
{
return $this->domain;
}
/**
* @param Domain $domain
*/
public function setDomain($domain)
{
$this->domain = $domain;
}
/**
* @return string
*/
public function getQuery()
{
return $this->query;
}
/**
* @param string $query
*/
public function setQuery($query)
{
$this->query = $query;
}
/**
* @return string
*/
public function getKeyword()
{
return $this->keyword;
}
/**
* @param string $keyword
*/
public function setKeyword($keyword)
{
$this->keyword = $keyword;
}
/**
* @return bool
*/
public function isArchived(): bool
{
return $this->archived;
}
/**
* @param bool $archived
*/
public function setArchived(bool $archived): void
{
$this->archived = $archived;
}
}