扩展SonataUser - 更新setter getter

时间:2012-08-22 06:48:50

标签: doctrine symfony-sonata symfony-2.1

我使用SonataEasyExtends扩展了SonataUser,所以我现在有一个Application/Sonata/UserBundle

我在模型Application/Sonata/UserBundle/Resources/config/doctrine/User.orm.xml

中添加了一个字段

试图更新setter&吸气鬼

$ php app/console doctrine:generate:entities Application/Sonata/UserBundle/Entity/User

似乎进展顺利。现在尝试更新数据库

$ php app/console doctrine:schema:update --force

我得到了

  

PHP致命错误:Application \ Sonata \ UserBundle \ Entity \ User :: $ groups的访问级别必须受到保护(如类FOS \ UserBundle \ Entity \ User中)或者/ home / glide / bouygues / src /中较弱第26行的Application / Sonata / UserBundle / Entity / User.php

所以问题是:我应该如何正确更新getter& Entity/User.php中的setter,我应该重用EasyExtends吗?

2 个答案:

答案 0 :(得分:1)

我遇到了这个问题,简单的解决方案是将groups变量的声明从public更改为protected:

  /**
   * @var \Doctrine\Common\Collections\Collection
   */
   protected $groups;

答案 1 :(得分:0)

你可以粘贴你的实体和xml配置吗?

该错误往往意味着您的变量“$ groups”需要受到保护,因此要么将其声明为“普通”var或私有。