Docrine, cоставной ключ c полем Date

Есть следующая сущность:

class SomeStatistic
{
    /**
     * @ORM\Id()
     * @ORM\Column(name="date", type="date", nullable=false)
     */
    private DateTimeInterface $date;

    /**
     * @ORM\Id()
     * @ORM\Column(name="campaign_id", type="integer", nullable=false)
     */
    private int $campaign_id;

     ...other columns

    public function __construct(DateTimeInterface $date, int $campaign_id)
    {
        $this->date = $date;
        $this->campaign_id = $campaign_id;
    }

    ...other gettters and setters
    

При попытке сохранить\получить сущность в репозитории. Доктрина кидает вот такое исключение.

In UnitOfWork.php line 2625: Object of class DateTime could not be converted to string

Миграция для таблицы следующая:

     CREATE TABLE campaign_statistic (
          date DATE NOT NULL,
          campaign_id INT NOT NULL,
          some_column INT NOT NULL DEFAULT 0,
      PRIMARY KEY(date, campaign_id),
      CONSTRAINT fkCampaingId FOREIGN KEY (campaign_id) REFERENCES campaign (id)

Я подозреваю что проблема не в DateTime классе, а в некорректно настроеном маппинге идентификаторов. Кто нибудь сталкивался с подобным когда нужно настроить мапинг составного первичного ключа, где одна из колонок дата? Подскажите как правильно. Очень не хочется изменять тип поля Date на varchar.


Ответы (0 шт):