创建通用类 "MappedSuperclass"
use Doctrine\ORM\Mapping as ORM;
/**
* Content
*
* @ORM\MappedSuperclass
*/
class Content
{
/**
* @ORM\Id
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $title;
/**
* @ORM\Column(type="text")
*/
protected $body;
}
继承父类
use Doctrine\ORM\Mapping as ORM;
/**
* Article
*
* @ORM\Entity
* @ORM\Table("article")
*
*/
class Article extends Content
{
/**
* @ORM\ManyToOne(targetEntity="Symfony\Component\Security\Core\User\UserInterface")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
}
重写父类 "AttributeOverrides"
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table("news")
* @ORM\AttributeOverrides({
* @ORM\AttributeOverride(name="title",
* column=@ORM\Column(
* length = 32,
* nullable = true
* )
* ),
* @ORM\AttributeOverride(name="body",
* column=@ORM\Column(
* name = "content"
* )
* )
* })
*/
class News extends Content
{
/**
* @ORM\Column(name="status", type="integer")
*/
protected $status;
}