扩展的Sonata用户类中的注释未被读取

时间:2012-12-26 14:32:12

标签: symfony-sonata

我使用Sonata EasyExtends捆绑包从Sonata项目扩展了用户捆绑包。 它默认放在src / Application / Sonata / UserBundle下

现在我想自定义扩展类并添加一些字段。 我注意到注释没有被处理,我需要在src / Application / Sonata / UserBundle / Resources / config / doctrine / User.orm.xml中定义映射

有没有办法使用注释而不是XML文件? 我认为它将通过引用用户类来解决我的许多问题,就像现在的命令一样

  

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

似乎没有认识到注释..

2 个答案:

答案 0 :(得分:10)

首先删除Application / Sonata / UserBundle / Resources / config / doctrine

稍后将Entity / User.php和Entity / Group.php更改为注释类型:

<?php

namespace Application\Sonata\UserBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Sonata\UserBundle\Entity\BaseUser as BaseUser;

/**
 * User
 *
 * @ORM\Table(name="fos_user_user")
 * @ORM\Entity
 */

class User extends BaseUser
{

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @ORM\Column(type="string", length=127)
     */
    protected $test;
}
<?php

namespace Application\Sonata\UserBundle\Entity;

use Sonata\UserBundle\Entity\BaseGroup as BaseGroup;
use Doctrine\ORM\Mapping as ORM;

/**
 * Group
 *
 * @ORM\Table(name="fos_user_group")
 * @ORM\Entity
 */
class Group extends BaseGroup
{

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

}

最后你应该输入:php app / console doctrine:schema:update --force,一切都应该很好。

答案 1 :(得分:-1)

在简历中,如果使用XML,则注释不会规则。

如果删除config / doctrine文件夹,它会查找注释,在那里,你可以放置你想要的内容。