Вы можете помочь мне с простым наследованием на Doctrine2?
У меня есть базовый класс для всех пользователей:
/**
* Class User
*
* @ORM\Entity
* @ORM\Table(name = "users")
* @InheritanceType("SINGLE_TABLE")
*/
class User
{
/**
* @ORM\Id()
* @ORM\Column(name = "id", type = "integer")
* @ORM\GeneratedValue(strategy = "AUTO")
* @var int
*/
private $_id;
/**
* @ORM\Column(name = "email", type = "string")
* @var int
*/
private $_email;
/**
* @ORM\Column(name = "name", type = "string")
* @var int
*/
private $_name;
/**
* @ORM\Column(name = "password", type = "string")
* @var int
*/
private $_password;
...
}
И у меня есть дочерний класс:
/**
* Class Parent
*
* @ORM\Entity
* @ORM\Table(name = "parents")
*/
class Parent extends User
{
/**
* @ORM\Id()
* @ORM\Column(name = "id", type = "integer")
* @ORM\GeneratedValue(strategy = "AUTO")
* @var int
*/
private $_id;
/**
* @ORM\Column(name = "user_id", type = "integer")
* @var int
*/
private $_user_id;
/**
* @ORM\Column(name = "address", type = "string")
* @var int
*/
private $_address;
...
}
Как вставить Parent.user_id после сохранения User?
И все ли аннотации правильные?
Я использую laravel-doctrine и ловлю следующее исключение:
Драйверы сопоставления файлов должны иметь допустимый путь к каталогу, однако указанный путь [/ var / www / app / Entities] кажется неверным!
@DenisAlimov, я изменил это, но теперь я ловлю исключение, что Parent.user_id не может быть нулевым.






Почему вы используете наследование SINGLE_TABLE? пожалуйста, прочтите внимательно документацию docs.doctrine-project.org/projects/doctrine-orm/en/latest/…