将列添加到FosUserBundle表&;表格Symfony 2.8

将列添加到FosUserBundle表&;表格Symfony 2.8,symfony,doctrine-orm,entity,fosuserbundle,Symfony,Doctrine Orm,Entity,Fosuserbundle,我使用的是Symfony 2.8和FosUserBundle。 我的问题是无法向实体添加新属性。 我的实体用户看起来是这样的 <?php // src/AppBundle/Entity/User.php namespace AppBundle\Entity; use FOS\UserBundle\Entity\User as BaseUser; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(

我使用的是Symfony 2.8和FosUserBundle。 我的问题是无法向实体添加新属性。 我的实体用户看起来是这样的

    <?php
// src/AppBundle/Entity/User.php

namespace AppBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @ORM\name
     * @ORM\Column(type="VARCHAR")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $name;

    /**
     * @ORM\lastname
     * @ORM\Column(type="VARCHAR")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $lastname;

    public function __construct()
    {
        parent::__construct();
        // your own logic
    }

    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    public function setLastname($lastname)
    {
        $this->lastname = $lastname;

        return $this;
    }
}

我认为你应该纠正以下几点:
实体定义

namespace AppBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     *@var string
     *
     * @ORM\Column(name="name",type="string")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $name;

    /**
     * @var string
     *
     * @ORM\Column(name="lastname",type="string")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $lastname;

    public function __construct()
    {
        parent::__construct();
        // your own logic
    }

    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

      public function getName()
    {
         return $this->name;
    }

    public function setLastname($lastname)
    {
        $this->lastname = $lastname;

        return $this;
    }
      public function getLastname()
    {


        return $this->lastname ;
    }

}
此外,您不需要编辑FOSUserbundle FormType,而是在bundle中基于用户类创建一个新的FormType

namespace AppBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     *@var string
     *
     * @ORM\Column(name="name",type="string")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $name;

    /**
     * @var string
     *
     * @ORM\Column(name="lastname",type="string")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $lastname;

    public function __construct()
    {
        parent::__construct();
        // your own logic
    }

    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

      public function getName()
    {
         return $this->name;
    }

    public function setLastname($lastname)
    {
        $this->lastname = $lastname;

        return $this;
    }
      public function getLastname()
    {


        return $this->lastname ;
    }

}