Symfony 4: перенос доктрины с присоединением manyToOne

Я пробовал Symfony 4 "для развлечения". И для этого я пытаюсь переписать старый сайт без фреймворка на данный момент с помощью Symfony 4.

Для этого я настраиваю свое приложение в своей базе данных с существующими данными. И я бы сделал форму входа.

НО на моем классе пользователей у меня есть некоторые проблемы, которые вызывают у меня проблемы.

См. Аннотации класса моего пользователя:

/**
 * Utilisateur
 *
 * @ORM\Table(name = "utilisateur", uniqueConstraints = {@ORM\UniqueConstraint(name = "mail", columns = {"mail"})}, indexes = {@ORM\Index(name = "FK_UTILISATEUR_idDroit", columns = {"idDroit"})})
 * @ORM\Entity
 */

и моя структура пользователя:

idutilisateur
nom
prenom
mail
password
dateinscription
datevalidation
token
iddroit
plainPassword

Как видите, я создаю iddroit как внешний ключ таблицы droit. Доктрина создала свойство как

    /**
     * @var Droit
     *
     * @ORM\ManyToOne(targetEntity = "Droit")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name = "idDroit", referencedColumnName = "idDroit")
     * })
     */
    private $iddroit;

И создал геттер как

    public function getIddroit(): Droit
    {
        return $this->iddroit;
    }

И после того, как проследили документацию о регистрации / входе в систему, отладчик ответит =>

Return value of App\Entity\Utilisateur::getIddroit() must be an instance of App\Entity\Droit, null returned

Итак, я полагаю, ему нужен объект, а не просто идентификатор, даже если в аннотации он создает правила соединения. Какие-нибудь удостоверения личности, что случилось?

И я понимаю, что нужно вернуть объект, но не знаю, как это вернуть.

Если есть предложения.

Спасибо ребята ;)

Лоран

Может ли организация Utilisateur не иметь Дройта? Если да, вам следует изменить тип возвращаемого значения getIddroit и тело функции для обработки нулевого случая.

NDZIE Patrick Joel 08.11.2018 19:17

Если iddroit может быть пустым, т.е. допускающим значение NULL, вы можете изменить тип возвращаемого значения на «? Droit».

dbrumann 08.11.2018 21:00
Стоит ли изучать 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
66
0

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