原则不会映射来自 FOSUserBundle 用户类的字段


Doctrine doesn't map fields from FOSUserBundle User-class

当从FOSUserBundle继承用户类时,原则将不识别基本用户类的继承属性。

只有我自己的类的属性才会用于创建/更新数据库架构。

这是 config.yml:

config.yml:

doctrine:
    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true
        mappings:
            FOSUserBundle: ~
            AppBundle: ~
fos_user:
    db_driver: orm 
    firewall_name: main
    user_class: AppBundle'Entity'User

我的用户实体:

<?php
namespace AppBundle'Entity;
use FOS'UserBundle'Model'User as BaseUser;
use Doctrine'ORM'Mapping as ORM;
use Doctrine'Common'Collections'ArrayCollection;
/**
 * @ORM'Entity()
 * @ORM'Table(name="s_user")
 */
class User extends BaseUser
{
    /**
     * @ORM'Id
     * @ORM'Column(type="integer")
     * @ORM'GeneratedValue(strategy="AUTO")
     */
    protected $id;
    /** @ORM'Column(name="facebook_id", type="string", length=255, nullable=true) */
    protected $facebook_id;
    /** @ORM'Column(name="facebook_access_token", type="string", length=255, nullable=true) */
    protected $facebook_access_token;
    /** @ORM'Column(name="google_id", type="string", length=255, nullable=true) */
    protected $google_id;
    /** @ORM'Column(name="google_access_token", type="string", length=255, nullable=true) */
    protected $google_access_token;
    public function __construct()
    {
        parent::__construct();
        // your own logic
    }

我在这里做错了什么?

尝试更改此行:

use FOS'UserBundle'Model'User as BaseUser;

自:

use FOS'UserBundle'Entity'User as BaseUser;

缺少的字段应在下一个schema:update --force添加到表结构中