我正在做一个中型 Symfony2 项目。在使用几个学说实体时,我坚持以下“错误”。
我有一个包含 3 个字段的实体:
<entity name="xxx\yyyBundle\Entity\ABTexte" table="ABTexte">
<id name="Nr" type="integer" />
<field name="OID" type="integer" />
<field name="Text" type="string" />
<many-to-one target-entity="xxx\yyyBundle\Entity\ABKopf" field="ABKopf" inversed-by="ABTexte">
<join-column name="OID" referenced-column-name="OID" on-delete="CASCADE" />
</many-to-one>
</entity>
使用 $repo->findBy() 加载一个或多个实体后,我收到一个数据类型错误的实体。我的结果是:
$ABKopf->Nr (int)
$ABKopf->Text (string)
$ABKopf->OID (string) <===== !!!!!!!!!
对于我的应用程序来说,将此值作为整数获取非常重要。你有什么想法是什么导致了这种行为?
PS:所有值都填充了正确数据类型的数据。例如 OID = 999000
我验证了,当我使用整数列作为外键(多对一关系......)时,原则总是将它作为字符串返回
ABKopf 中的关系:
<entity name="xxx\yyyBundle\Entity\ABKopf" table="ABKopf">
<id name="OID" column="OID" type="integer" />
<field name="ABNr" column="ABNr" type="integer" />
<!-- ... -->
<one-to-many target-entity="xxx\yyyBundle\Entity\ABTexte" field="ABTexte" mapped-by="ABKopf" />
</entity>