尝试利用继承,我创建了以下实体:
li
几乎完美无缺。生成的key
- 表包含除li
- 关系之外的所有id
- 字段。我试图将关系更改为/**
* @ORM\Table(name="persons")
* @ORM\Entity()
*/
class Person
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
protected $name;
/**
* @ORM\OneToOne(targetEntity="Image", cascade={"persist"})
* @ORM\JoinColumn(name="image_id", referencedColumnName="id")
*/
protected $image;
}
/**
* @ORM\Table(name="actors")
* @ORM\Entity()
*/
class Actor extends Person
{
/**
* @ORM\Column(name="character", type="string", length=255)
*/
private $character;
}
/**
* @ORM\Table(name="images")
* @ORM\Entity()
*/
class Image
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="path", type="string", length=255)
*/
private $path;
}
,这对您没有帮助。
如何使actors
- 实体也继承所有已连接的字段?如果上述情况不理想,我会对其他解决方案持开放态度。
答案 0 :(得分:0)
您需要在Actor类中使用父构造:
public function __construct()
{
parent::__construct();
// your own logic
}
建议您添加ID。