Symfony:为什么isInitialized总是错误的?

Mik*_*ang 5 symfony doctrine-orm

我用学说查询用户:

$customer = $this->getDoctrine()->getRepository('DemoUserBundle:Customer')->find(1);
Run Code Online (Sandbox Code Playgroud)

但是我得到了结果:

客户{#1441吗?+ isInitialized:false -id:1-用户名:null-昵称:null-电子邮件:null -salt:null-密码:null-角色:null-已启用:null -lastLogin:null-已过期:null -expiredAt:已创建null :null-已修改:null-组:null -ceilphoneCode:null-化身:null-任务:null-应用程序:null-公司:null-创建者:null-图像:null-公司:null -store:存储{#1440? } -realName:null -sex:null -age:null -belongCompany:null-地址:null-职业:null -relationProducts:null-属性:null -medias:null -logs:null…2}

结果未完成,该用户的其他数据在哪里?为什么isInitialized为假?

Wil*_*ilt 4

isInitialized为 false,因为您Proxy从 中获取了一个对象EntityManager。您可能在应用程序中较早的某个位置加载了一个Customer带有 id 的实体1作为关联。此相关对象未进行 fetch 连接(未急切加载),因此Proxy现在从您的EntityManager. 通常find应该返回一个完全加载的对象。

另请阅读这篇 GitHub 帖子,其中讨论了类似的问题