1

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

我在模型中添加了一个字段Application/Sonata/UserBundle/Resources/config/doctrine/User.orm.xml

试图用

$ 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/Application/Sonata 中的访问级别较弱/UserBundle/Entity/User.php 第 26 行

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

4

2 回答 2

1

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

  /**
   * @var \Doctrine\Common\Collections\Collection
   */
   protected $groups;
于 2014-02-20T19:10:27.727 回答
0

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

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

于 2012-08-31T00:56:32.800 回答