Size: a a a

2021 July 28

SG

Sergey Gerasimov in symfony
Не знаю как нагуглить...
источник

МФ

Максим Федоров... in symfony
association mapping doctrine
источник

SG

Sergey Gerasimov in symfony
Это видел, и видимо что-то не указал:
   /**
    * @ORM\OneToOne(targetEntity="App\Entity\User")
    * @ORM\JoinColumn(name="email", referencedColumnName="email")
    */
   private $user;


Потому что выдает ошибку Missing value for primary key id on App\Entity\User
источник

И

Ибрагим in symfony
а, я уже исправил. Параметр был в другом бандле, я в bundles.php этот бандл добавил в конец списка и ошибка пропала)
источник

✨Basic_Instinct✨ in symfony
В юзере нужно также указать связь на request свойство
источник

SG

Sergey Gerasimov in symfony
Тут видимо немного в другом проблема, по крайней мере тут https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/limitations-and-known-issues.html#join-columns-with-non-primary-keys говорится о том, что можно использовать только первичные ключи
источник

✨Basic_Instinct✨ in symfony
А, ну у тебя связь One... А связи One вешаются на праймери, тебе нужно one request many user
источник

SG

Sergey Gerasimov in symfony
Видимо OneToMany тоже на праймари
источник

✨Basic_Instinct✨ in symfony
нет
источник

SG

Sergey Gerasimov in symfony
Почему тогда такая же ошибка?

    /**
    * @ORM\OneToMany(targetEntity="App\Entity\User", mappedBy="registration")
    * @ORM\JoinColumn(name="email", referencedColumnName="email")
    */
   private $user;

Missing value for primary key id on App\Entity\Request\Registration
источник

✨Basic_Instinct✨ in symfony
у меня свет вырубили, с ходу вижу что у тебя мапед на регистратион, а не на мыло
источник

SG

Sergey Gerasimov in symfony
Так email - это стринговое поле
источник

✨Basic_Instinct✨ in symfony
make:entity в помощь
источник

SG

Sergey Gerasimov in symfony
Создал обратную связь и мапед сделал на эту связь. В пользователе аналогично:
   /**
    * @ORM\ManyToOne(targetEntity="App\Entity\Request\Registration", inversedBy="user")
    * @ORM\JoinColumn(name="email", referencedColumnName="email")
    */
   private $registration;
источник

✨Basic_Instinct✨ in symfony
И что? Мапед указывается на свойство, в твоём случае $email
источник

SG

Sergey Gerasimov in symfony
Ну меняю на email - ошибка не меняется Missing value for primary key id on App\Entity\Request\Registration
источник

✨Basic_Instinct✨ in symfony
Что-то ты нагородил, регистрацион на юзер, юзер на мыло, а мыло на что?
источник

SG

Sergey Gerasimov in symfony
   /**
    * Email
    *
    * @ORM\Column(type="string", length=180, unique=true)
    * @ORM\ManyToOne(targetEntity="App\Entity\Request\Registration", inversedBy="user")
    * @Assert\Email()
    */
   private $email;
Так получается должно быть?
источник

✨Basic_Instinct✨ in symfony
Да, что-то вроде того
источник

✨Basic_Instinct✨ in symfony
А реквест на это свойство email
источник