我的问题很简单,但我搜索了一个小时没有成功,我想为UserEntity添加一些约束 . 例如,我想限制用户名的长度
我认为最好的方法是不要在供应商中触及FOS . 我用自己的layout.html等创建了我自己的userBundle ...但是我不能覆盖已经存在于FosuserBundle中的attribut(它正在为布局覆盖btw工作,我的userBundle是FOS的孩子)有趣的是“id”没有问题的压倒一切
我的用户实体:
<?php
namespace Diane\UserBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* User
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="Diane\UserBundle\Entity\UserRepository")
*/
class User extends BaseUser
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
* @ORM\Column(name="username", type="string", length=10)
*/
protected $username;
}
Fos用户模型:
<?php
namespace FOS\UserBundle\Model;
use Doctrine\Common\Collections\Collection;
use Doctrine\Common\Collections\ArrayCollection;
abstract class User implements UserInterface, GroupableInterface
{
protected $id;
/**
* @var string
*/
protected $username;
...
}
我已经尝试删除:
/**
* @var string
*/
错误信息 :
Doctrine \ ORM \ Mapping \ MappingException]在字段或标识符列映射中实体'Diane \ UserBundle \ Entity \ User'上的列'username'的重复定义 .
谢谢你能给我的任何想法
1 回答
尝试AttributeOverrides
Doctrine
注释: