Я написал запрос и функцию, но не могу передать эту логику.Мне нужно написать заявление, где я не могу генерировать то же значение токена снова при публикации в базу данных.
public function getToken($user, $token)
{
$tok = $this->getRepository()
->createQueryBuilder('pt')
->select('pt')
->where('pt.user = :user')
->andWhere('pt.token = :token')
->setParameter('user', $user)
->setParameter('token', $token)
->getQuery()
->getResult();
if(empty($token)) {
$tok = new Token();
$tok->setUser($user);
$tok->setToken($token);
$this->em->persist($tok);
$this->em->flush();
}
return $tok;
}
и в моем контроллере ..
public function getTokenAction()
{
$this->requirePostParams(['user', 'token']);
$this->get('token')->getToken($this->getUser(), $this->data['token']);
return $this->success();
}
Итак, если этозначение токена находится в БД, чтобы больше не публиковать его, а если нет, то да.