我尝试使用manyToOne
加载对象,但变为null
。
#ConversationMessage.orm.yml:
AppBundle\Entity\ConversationMessage:
type: entity
manyToOne:
user:
targetEntity: User
joinColumn:
name: user
referencedColumnName: id
conversation:
targetEntity: Conversation
joinColumn:
name: conversation
referencedColumnName: id
table: null
repositoryClass: AppBundle\Repository\ConversationMessageRepository
id:
id:
type: integer
id: true
generator:
strategy: AUTO
fields:
message:
type: text
time:
type: integer
lifecycleCallbacks: { }
对话始终设置为数据库条目。但用户对象没有。 两个班都一样吗?
如果UserMessage是User self,则User对象仅出现在ConversionMessage中。所有对象,userID都不是我登录的用户ID,该条目未初始化。
我尝试将fetch方法设置为EAGER
,但结果相同。
有人可以帮忙吗?
感谢!
答案 0 :(得分:0)
很多人试过...... 当我使用时:
{{ dump(conversations) }}
user-Object将所有字段显示为" null"。只有ID设置为正确的值。当用户Object是我的用户对象时,所有字段都设置了我的数据。
但我可以访问
{{ conversations.getUser().getUsername() }}
将显示用户名。一个
{{ dump(conversations) }}
阅读用户名后,将显示所有带有值的字段。
我再次检查并删除了:
{{ conversations.getUser().getUsername() }}
现在用户
{{ dump(conversations) }}
再次" null"。
好的,一切正常,但有人可以解释一下,为什么symfony会像这样工作?
谢谢!