Приглашение Symfony2 FOSUserBundle: ошибки отображения "inversedBy"
Установка приглашения FOSUserBundle была завершена в качестве руководства.
На первый взгляд, это работает.
Однако ошибки отображения отображаются профилировщиком.
Я думаю, что настройка "inversedBy" была установлена в соответствии с инструкциями в руководстве.
Как вы это видите?
сущность
/** @ORM\Entity */
class Invitation
{
/**
* @ORM\OneToOne(targetEntity="User", inversedBy="invitation", cascade={"persist", "merge"})
*/
protected $user;
// ...
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends \FOS\UserBundle\Entity\User
{
/**
* @ORM\OneToOne(targetEntity="Invitation", inversedBy="user")
* @ORM\JoinColumn(referencedColumnName="code")
* @Assert\NotNull(message="Your invitation is wrong")
*/
protected $invitation;
// ...
Profiler
FOS\UserBundle\Entity\User Valid
My\SampleBundle\Entity\User
The field My\SampleBundle\Entity\User#invitation is on the owning side of a bi-directional
relationship, but the specified mappedBy association
on the target-entity My\SampleBundle\Entity\Invitation# does not contain
the required 'inversedBy' attribute.
My\SampleBundle\Entity\Invitation
The field My\SampleBundle\Entity\Invitation#user is on the owning side of a bi-directional
relationship, but the specified mappedBy association
on the target-entity My\SampleBundle\Entity\User# does not contain
the required 'inversedBy' attribute.
1 ответ
Решение
Согласно ссылке http://docs.doctrine-project.org/en/2.0.x/reference/association-mapping.html обратная сторона (в данном случае Invitation) должна называться User как "mappedBy", а не "inversedBy", Пытаться
class Invitation
{
/**
* @ORM\OneToOne(targetEntity="User", mappedBy="invitation", cascade={"persist", "merge"})
*/
protected $user;
// ...