#php #symfony #doctrine
#php #symfony #doctrine
Вопрос:
У меня странная проблема, из-за которой объект, сброшенный с помощью функции ‘dump’ в Symfony, показывает, что у него два идентификатора. Один равен нулю, другой правильный. Выполнение $entity-> getId() возвращает null, но я, очевидно, хочу, чтобы был возвращен ненулевой идентификатор.
Пример вывода дампа:
FacilityFinancialData {#9370 ▼
-id: null
-facility: Facility {#2425}
-content: "Self-pay Options"
-customContent: ""
-extraData: array:36 [▶]
-secondStatus: true
#useCustom: true
-childName: FacilityDataChildName {#9372 ▶}
-sectionDataType: 6
-status: true
#createdAt: DateTime @1484126322 {#9367 ▶}
#updatedAt: DateTime @1553071185 {#9368 ▶}
-id: 1415556
}
Кто-нибудь видел это раньше или знает способ для меня получить доступ к ненулевому идентификатору?
Эти объекты являются связанными объектами внутри ArrayCollection.
Комментарии:
1. покажите нам свой класс entity FacilityFinancialData
2. возможно, эта сущность не сохраняется, и именно поэтому у вас нулевой идентификатор
3. Но откуда в dump() два идентификатора? Один правильный (я проверил, и он сохраняется в БД), а другой — нулевой?
Ответ №1:
Хорошо, я исправил свою собственную проблему. Проблема заключалась в том, что у нас был private $ id для родительского объекта и private $ id для подклассового объекта. У нас должен был быть просто защищенный $ id для родительского элемента и никакого $ id для подклассов.
В любом случае, размещено здесь на случай, если кто-нибудь еще когда-нибудь увидит ту же проблему.
(Кстати, не моя кодовая база — я просто унаследовал ее вместе с этой странной проблемой)