您可以使用User 实体上方的Doctrine\ORM\Mapping\AttributeOverrides和Doctrine\ORM\Mapping\AttributeOverride注释使用户名可以为空,如下所示:
use Doctrine\ORM\Mapping\AttributeOverrides;
use Doctrine\ORM\Mapping\AttributeOverride;
/**
* User
*
* @ORM\Table(name="fos_user")
* @AttributeOverrides({
* @AttributeOverride(name="username",
* column=@ORM\Column(
* name="username",
* type="string",
* length=255,
* unique=false,
* nullable=true
* )
* ),
* @AttributeOverride(name="usernameCanonical",
* column=@ORM\Column(
* name="usernameCanonical",
* type="string",
* length=255,
* unique=false,
* nullable=true
* )
* )
* })
* @ORM\Entity(repositoryClass="AppBundle\Repository\UserRepository")
*/
class User extends BaseUser
{
//..
此代码将使用户名在数据库中可以为空,并且在验证规则中不需要。
来源:
https ://openclassrooms.com/forum/sujet/symfony-supprimer-username-fosuserbundle