小编kri*_*016的帖子

如何与 MappedSuperclass 作品建立联系?

我在 Symfony 5 中对多对一与 MappedSuperclass 的关系有问题。我有实体 Employee、Employer ,它们扩展了 MappedSuperclass 抽象类 Person。我想创建与人员(雇员和雇主)相关的报告实体,如下所示:

    /**
     * @ORM\ManyToOne(targetEntity=Person::class)
     */
    private $person;

Run Code Online (Sandbox Code Playgroud)

但是当我尝试推送迁移时,我收到以下错误消息:

从 App\Entity\Raport 到 App\Entity\Person 的关系引用的列名称id不存在。

但我在这些类中有 id 属性:

    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    protected $id;
Run Code Online (Sandbox Code Playgroud)

我在 Symfony 页面示例中找到了创建界面来执行此操作,但它对我来说也不起作用。也许有人以前遇到过这个问题并且知道如何解决它。非常感谢您的任何回复。

编辑我的人课程:

**
 * Abstract base class to be extended by my entity classes with same fields
 *
 * @MappedSuperclass
 */
abstract class Person
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    protected $id; //This property exist in Employee …
Run Code Online (Sandbox Code Playgroud)

doctrine symfony symfony5

3
推荐指数
2
解决办法
5849
查看次数

标签 统计

doctrine ×1

symfony ×1

symfony5 ×1