Doctrine Beispiel zum Erstellen einer Base Entity Klasse so das alle anderen Klassen die diese Extenden die Felder auch in der Datenbank bekommen.
Die Base Entity Klasse benötigt nur "@ORM\MappedSuperclass" als Annotation.
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Class ChildEntity
* @package AppBundle\Entity
* @ORM\Entity
* @ORM\Table(name="child_entity")
*/
class ChildEntity extends BaseEntity
{
}
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Class BaseEntity
* @package AppBundle\Entity
* @ORM\MappedSuperclass
*/
class BaseEntity
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @var integer
*/
private $id;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
}