Digi92
4/15/2017 - 8:57 PM

Doctrine Beispiel zum Erstellen einer Base Entity Klasse so das alle anderen Klassen die diese Extenden die Felder auch in der Datenbank bek

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;
    }
}