我正在使用Symfony2运行Symfony2应用程序,我正在使用FOSUserBundle来管理我的用户。
现在我实现了StofDoctrineExtensionsBundle以使用可记录扩展。很遗憾,我无法记录username
和email
。如果我尝试通过YML激活日志记录:
Acme\MyBundle\Entity\User:
type: entity
gedmo:
loggable: true
fields:
id:
...
username:
type: string
gedmo:
- versioned
email:
type: string
gedmo:
- versioned
我得到了
字段或标识符列映射中实体上的列'username'的重复定义。
所以我尝试激活注释中的日志记录(注意我通过YML定义了所有其他实体):
use FOS\UserBundle\Model\User as BaseUser;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* @Gedmo\Loggable
*/
class User extends BaseUser {
...
/**
* @var string
* @Gedmo\Versioned
*/
protected $username;
/**
* @var string
* @Gedmo\Versioned
*/
protected $email;
但是:没有任何事情发生。我的User
的所有其他属性都会被记录,但username
和email
不会。
为了激活这两个属性的日志记录,我需要更改什么?或者这是我无法影响的FOSUserBundle和StofDoctrineExtensionsBundle之间的相互依赖性?
答案 0 :(得分:0)
您是否添加了此配置?:
//app/config/config.yml
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
mappings:
translatable:
type: annotation
alias: Gedmo
prefix: Gedmo\Translatable\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity"
loggable:
type: annotation
alias: Gedmo
prefix: Gedmo\Loggable\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Loggable/Entity"
tree:
type: annotation
alias: Gedmo
prefix: Gedmo\Tree\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Tree/Entity"
sluggable:
type: annotation
alias: Gedmo
prefix: Gedmo\Sluggable\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Tree/Entity"