0
フィールドcompanyIDとpersonMailaddressで一意のエンティティを使用したいとします。 フィールドにpersonMailだけを使用すると問題なく動作します。しかし、配列に次のような別のフィールドを追加すると、UniqueEntityは無視されます。2つのフィールドのSymfony UniqueEntityが機能しません。
/**
* person
*
* @ORM\Table(name="person")
* @ORM\Entity(repositoryClass="AppBundle\Repository\personRepository")
* @ORM\HasLifecycleCallbacks()
* @UniqueEntity(
* fields={"personMail", "companyID"},
* errorPath="personMail",
* message="ERROR_MAIL_DUPLICATE",
*)
* @Serializer\ExclusionPolicy("all")
*/
class person
{
...
/**
* @ORM\ManyToOne(targetEntity="company", inversedBy="persons")
* @ORM\JoinColumn(name="company", referencedColumnName="id", nullable=true)
*
*/
protected $companyID;
/**
* @var string
*
* @ORM\Column(name="personMail", type="string", length=150)
* @Assert\NotBlank(message="ERROR_MAIL_EMPTY")
*
* @Serializer\Expose
*/
private $personMail;
ありがとうございました。私はちょうど私の質問でそれを書かなかった。しかし、私はすでに次のものを挿入しています:symfony \ Bridge \ Doctrine \ Validator \ Constraints \ UniqueEntity; – kristof