FOSUserBundle을 확장하고 잘 작동하는 UserBundle이 있습니다. 하지만 이제는 differents 속성을 가진 여러 사용자 엔터티를 만들길 원합니다.FOSUserBundle의 사용자 엔터티를 확장하는 방법은 무엇입니까?
나는이, 내가 오류가있어 않습니다class User extends BaseUser
{
protected $id;
// The main user class who extends FOSUser entity
}
class UserB extends User
{
//
}
:`
Access level to MyApp\UserBundle\Entity\UserB::$id must be protected (as in class MyApp\UserBundle\Entity\User).
을 때 나는 이런 식으로 내 주요 사용자 개체를 확장 내 사용자 enttity를 만들 때 는하지만 문제는
PHP Fatal error: Cannot redeclare MyApp\UserBundle\Entity\UserB::$id.
그리고 완료, 내가 덜 돌려 내 사용자 개체의 교리 오류 ID를 삭제할 수 없습니다 : 내 사용자 B의 실체에 보호 된 ID를 만들어이이
[Doctrine\ORM\Mapping\MappingException]
No identifier/primary key specified for Entity 'MTS\UserBundle\Entity\User'. Every Entity must have an identifier/primary key.
누군가 나를 도울 수 있습니까?
편집 : 문제가 해결되었습니다. 내 코드 :
/**
* MTS\UserBundle\Entity\User
*
* @ORM\Entity
* @ORM\InheritanceType("SINGLE_TABLE")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({"userfb" = "UserFB"})
*/
abstract class User extends BaseUser
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string $type
*/
private $type;
}
/**
* @ORM\Table()
* @ORM\Entity()
*/
class UserB extends User
{
// My variables
}
고맙습니다을
나는 나의 작업 코드에서이를 제거하여 오류 메시지 '식별자/기본 키가 있어야합니다 모든 엔티티'당신을 복제 할 수 있었다 당신의 대답을 위해. Finaly, 나쁜 상속으로 인한 제 문제. 내 코드 편집을보십시오. – Naelyth