Аннотация для простого наследования в Doctrine2

Вы можете помочь мне с простым наследованием на 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] кажется неверным!

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

Denis Alimov 03.04.2018 04:53

@DenisAlimov, я изменил это, но теперь я ловлю исключение, что Parent.user_id не может быть нулевым.

withoutname 03.04.2018 09:31
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
80
0

Другие вопросы по теме