【问题标题】:Symfony extends entitySymfony 扩展实体
【发布时间】:2021-03-22 05:12:59
【问题描述】:

它可以通过其他实体 gtoup 扩展实体组也改变 OneToOne/OneToMany 关系。

例如,我尝试通过用户扩展 UserTemp,但在架构验证时我收到映射无效的错误。

类用户

/**
 * @ORM\Table(name="d1_user")
 * @ORM\Entity(repositoryClass="App\Repository\UserRepository")
 */
class User
{
    /**
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string|null
     *
     * @ORM\Column(type="string", length=255, nullable=true)
     */
    private $name;

    /**
     * @var UserAddress
     *
     * @ORM\OneToMany(targetEntity="UserAdress", mappedBy="user", cascade={"persist", "remove"}, orphanRemoval=true)
     */
    private $address;
}

类 UserTemp

/**
 * @ORM\Table(name="d1_user")
 * @ORM\Entity(repositoryClass="App\Repository\UserTempRepository")
 */
class UserTemp extends User
{
    /**
     * @var UserTempAddress
     *
     * @ORM\OneToMany(targetEntity="UserTempAdress", mappedBy="user", cascade={"persist", "remove"}, orphanRemoval=true)
     */
    private $address;
}

【问题讨论】:

标签: symfony orm


【解决方案1】:

你试试

/**
 * @EntityExtension("User") //path Class User
 */
trait UserTempTrait
{
    /**
     * @var UserTempAddress
     *
     * @ORM\OneToMany(targetEntity="UserTempAdress", mappedBy="user", cascade={"persist", "remove"}, orphanRemoval=true)
     */
    private $address;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    相关资源
    最近更新 更多