将列添加到FosUserBundle表&;表格Symfony 2.8
我使用的是Symfony 2.8和FosUserBundle。 我的问题是无法向实体添加新属性。 我的实体用户看起来是这样的将列添加到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(
<?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 ;
}
}