Я пытаюсь запретить пользователю иметь одну и ту же магию c дважды в своей коллекции.
Вот мой объект CollectionContent. Он содержит все карты, которые пользователи имеют в своей коллекции. Он связан с сущностью Коллекции и сущностью Карт.
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity(repositoryClass="App\Repository\CollectionContentRepository")
* @UniqueEntity(
* fields={"cards", "fromCollection"},
* errorPath="cards",
* message="This card already exists in your collection."
* )
*/
class CollectionContent
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="integer")
*/
private $quantity;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Cards")
* @ORM\JoinColumn(referencedColumnName="card_id")
*/
private $cards;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Collections", inversedBy="collectionContents", fetch="EAGER")
* @ORM\JoinColumn(nullable=false)
*/
private $fromCollection;
public function getId(): ?int
{
return $this->id;
}
public function getQuantity(): ?int
{
return $this->quantity;
}
public function setQuantity(int $quantity): self
{
$this->quantity = $quantity;
return $this;
}
public function getCards(): ?cards
{
return $this->cards;
}
public function setCards(?cards $cards): self
{
$this->cards = $cards;
return $this;
}
public function getFromCollection(): ?collections
{
return $this->fromCollection;
}
public function setFromCollection(?collections $fromCollection): self
{
$this->fromCollection = $fromCollection;
return $this;
}
}
Однако, когда это позволяет мне иметь одну и ту же карту в одной коллекции более одного раза. Что я сделал не так?