обн .: Обратите внимание: уникальная проверка работала правильно, пока я не изменил связанный тип PK User::$id
с целое число на guid .
У меня есть сущность UserWatchlist
, которая относится к User
(многие-к-одному). Он имеет сложное уникальное ограничение на 2 поля user
и direction
:
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity(repositoryClass="App\Repository\UserWatchlistRepository")
* @UniqueEntity(
* fields={"user", "direction"},
* errorPath="direction",
* message="User already has this direction"
* )
*/
class UserWatchlist
{
В то время как User::$id
PK был целым числом
Class User
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
проверка уникальности работала нормально.
Но так как я обновил его до типа guid:
Class User
/**
* @ORM\Id()
* @ORM\GeneratedValue(strategy="UUID")
* @ORM\Column(type="guid")
*/
private $id;
, эта проверка игнорируется и просто переходит к проверке индекса на уровне базы данных (если есть).
Все индексы и внешние ключивсе в порядке.
Это ошибка или я что-то не так сделал, есть идеи?