Перед тем, как сохраняются лица в чеке службы двухслойного ли данное сочетание пользователя и страницы слизня являются уникальными, если не изменить страницу слизняка (добавить -2
или что-то как это) или выбросить исключение:
public function persistPage(Page $page) {
$userSlug = $page->getUser()->getSlug();
$pageSlug = $page->getSlug();
if ($this->pagesRepository->findOneBySlugs($userSlug, $pageSlug) != null) {
// given combination already exists
throw new NonUniqueNameException(..);
// or modify the slug
$page->setSlug($page->getSlug() . '-2');
return $this->persistPage($page);
}
return $this->em->persist($page);
}
// PagesRepository::findOneBySlugs($userSlug, $pageSlug)
public function findOneBySlugs($userSlug, $pageSlug) {
$query = $this->em->createQueryBuilder('p')
->addSelect('u')
->join('p.user', 'u')
->where('p.slug = :pageSlug')
->where('u.slug = :userSlug;)
->getQuery();
$query->setParameters(combine('userSlug', 'pageSlug'));
return $query->getSingleResult();
}
Я не понимаю, чего вы хотите. Когда вы хотите проверить уникальность user_slug и page_slug? –
Я хочу проверить пули, если пользователь создает страницу – huzi