#php #mysql #symfony #doctrine-orm #doctrine
#php #mysql #symfony #doctrine-orm #доктрина
Вопрос:
Я унаследовал от базы данных MySQL столбец «time», представляющий «время в неделю» в диапазоне от «00:00:00» до «167:59:59» (24*7 = 168).
Соответствующее объявление ORM является :
* @var DateTime $startTime
* @ORMColumn(name="startTime", type="interval")
По-видимому, Doctrine всегда использует DateTime (не DateInterval) с PHP, вероятно, для обеспечения совместимости с другими движками БД.
Проблема в том, что я не понимаю, как установить эти значения, поскольку они всегда становятся нулевыми при сохранении.
Например :
$pWeek->setEndTime(new DateTime('T'06:00:00'));
установит DateTime в сущности, но NULL в базе данных.
Я думаю, что ребята, которые разработали это, установили данные непосредственно в DB, но поскольку есть ORM, мне нужно иметь возможность устанавливать данные с его помощью.
Комментарии:
1. Тип interval , похоже, не существует. У вас есть создать свой собственный тип? Возможно, проблема возникает отсюда.
Ответ №1:
Это странно, но в итоге этот код был… работает.
Понятия не имею, как я пришел к тому, что это не сработало, я предполагаю, что это, скорее всего, просто проблема с кэшем.
Спасибо