tinternet.net/src/Repository/Site/NodeRepository.php
2021-03-19 15:13:42 +01:00

36 lines
850 B
PHP

<?php
namespace App\Repository\Site;
use App\Entity\Site\Node;
use Doctrine\ORM\EntityManagerInterface;
use Gedmo\Tree\Entity\Repository\NestedTreeRepository;
class NodeRepository extends NestedTreeRepository
{
public function __construct(EntityManagerInterface $manager)
{
parent::__construct($manager, $manager->getClassMetadata(Node::class));
}
public function urlExists($url, Node $node)
{
$query = $this->createQueryBuilder('n')
->where('n.url = :url')
->setParameter(':url', $url)
;
if ($node->getId()) {
$query
->andWhere('n.id != :id')
->setParameter(':id', $node->getId())
;
}
return $query->getQuery()
->setMaxResults(1)
->getOneOrNullResult()
;
}
}