提前感谢您的帮助。
我有不同类型的用户,在我的示例中,用户可以拥有多个品牌和一个品牌多个用户。 用户 - > ManyToMany - >牌 我需要建议,但我不知道使用继承的最佳方法是什么。
/**
* @ORM\Table(name="user")
* @ORM\Entity(repositoryClass="AppBundle\Repository\User\UserRepository")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorMap({"admin" = "UserAdmin", "brand" = "UserBrand", "developper" = "UserDev"})
* @UniqueEntity(fields={"usernameCanonical"}, errorPath="username", message="user.username.already_used", groups={"Registration", "Profile"}, repositoryMethod="findByUniqueCriteria")
* @UniqueEntity(fields={"emailCanonical"}, errorPath="email", message="user.email.already_used", groups={"Registration", "Profile"}, repositoryMethod="findByUniqueCriteria")
*/
abstract class User implements UserInterface, \Serializable
{
const TYPE = 'Parent';
const ROLE_DEFAULT = 'ROLE_USER';
}
/**
* @ORM\Entity
* @ORM\Table(name="user_brand")
* @ORM\Entity(repositoryClass="AppBundle\Repository\User\UserRepository")
* @ORM\InheritanceType("JOINED")
*/
class UserBrand extends User
{
const TYPE = 'Brand';
const ROLE_DEFAULT = 'ROLE_BRAND';
}
/**
* @ORM\Entity
* @ORM\Table(name="user_admin")
* @ORM\Entity(repositoryClass="AppBundle\Repository\User\UserRepository")
* @ORM\InheritanceType("JOINED")
*/
class UserAdmin extends User
{
}
答案 0 :(得分:0)
您拥有从用户到品牌的多对多双向关系。您应该更新两个实体及其orm文件以建立彼此的关系。 从symfony文档中查看以下示例。