Symfony 4: доктрина мигрирует со многими - PullRequest
0 голосов
/ 08 ноября 2018

Я пробовал 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;
    }

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

Возвращаемое значение App \ Entity \ Utilisateur :: getIddroit () должно быть экземпляр приложения \ Entity \ Droit, ноль возвращено

Так что я представляю, что ему нужен объект, а не просто идентификатор, даже если в аннотации он устанавливает правила соединения. Любое удостоверение личности, что случилось?

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

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

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

Laurent

...