Я хочу иметь только 1 запись в таблице изображений, но использовать ее несколько раз в других таблицах.Таблица изображений имеет уникальное ограничение «source» + «source_id».
Доктрина, кажется, не проверяет это перед сохранением, поэтому возникает ошибка: «Duplicate entry ....»
Нужно ли искать сохраненный элемент самостоятельно перед сохранением?Я надеялся, что Доктрина сделает это.
Определение таблицы изображений:
/**
* @ORM\Entity
* @ORM\Table(name="ce_image", uniqueConstraints={@ORM\UniqueConstraint(name="image", columns={"source", "source_id"})})
**/
class Image extends Core
{
...
Определение таблицы событий и дат (идентично):
class Date {
.....
/**
* @ORM\ManyToOne(targetEntity="NamesapceTo\Image", cascade={"persist", "remove"})
* @ORM\JoinColumn(name="id_image", referencedColumnName="id", onDelete="SET NULL", nullable=true)
* @var Image
*/
private $image = null;
...
}