Size: a a a

2021 September 17

S)

Shokha )) in symfony
Добрый день!
Когда сделаем fetch="EXTRA_LAZY" он же не должен сделать запрос  то что связно к сущности?
источник

D

Dmitry in symfony
смотря когда, при получении самой сущности - нет
источник

D

Dmitry in symfony
но если вы запросите данные, то запрос сделает
источник

✨Basic_Instinct✨ in symfony
когда обратишься, тогда и вызовет
источник

S)

Shokha )) in symfony
$this->repo->find($id)
источник

S)

Shokha )) in symfony
Все равно left join к таблицу doctors идет
источник

SP

Sergey Protko in symfony
а лучше убери bidirectional. вообще bidirectional связи не нужны почти никогда
источник

✨Basic_Instinct✨ in symfony
у тебя связь 1к1, там не работает
источник

S)

Shokha )) in symfony
там всегда будет left join значить?
источник

✨Basic_Instinct✨ in symfony
да, Сергей говорил что они до сих пор не пофиксили
источник

D

Dmitry in symfony
https://github.com/doctrine/orm/issues/4389 - вот по вашему вопросу
источник

S)

Shokha )) in symfony
тоест убрать oneToOne?
источник

✨Basic_Instinct✨ in symfony
т.е. связи 1к1 практически не нужны, и если ты используешь - то скорее всего спроектировал не верно
источник

✨Basic_Instinct✨ in symfony
в твоем примере могу видеть, что сущности User не должна знать о Doctor, это Doctor должен знать о User
что если User не Doctor, а Pacient?
источник

S)

Shokha )) in symfony
Class User
 
  /**
    * @ORM\OneToOne(targetEntity="App\Model\User\Doctor\Entity\Doctor", mappedBy="user", cascade={"persist"})
    */
   private Doctor $doctor;

Class Doctor

        /**
        * @ORM\OneToOne(targetEntity="App\Model\User\User\Entity\User", inversedBy="doctor", cascade={"persist"})
        * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
        */
       private User $user
источник

S)

Shokha )) in symfony
вот щас как направить в моем случе?
источник

✨Basic_Instinct✨ in symfony
в User обрать связь на Doctor, у Doctor  ManyToOne nullable=true
источник

S)

Shokha )) in symfony
тогда
private Doctor $doctor; будет коллекция а не объект?
источник

✨Basic_Instinct✨ in symfony
Коллекцией она будет для User если ты пожелаешь управлять Doctor из User
но т.к. Мы отказываемся от связи User->Doctor, в сущности Doctor просто сетишь setUser(User $user)
источник

MM

Mykhailo Melnyk in symfony
Так а задача какая в плане бизнеса?
User должен иметь много докторов или Доктор может быть юзером?
Если есть разные типы юзера - может дискриминатор зарешает?
источник