Doctrine / Nettrine chyba: PDO::quote(): Argument #1 ($string) must be of type string
- grovik
- Člen | 72
Zdravím,
při snaze vytvořit vazbu (mám existující entitu User a následně na
základě toho, jak se uživatel rozhodně vytovřím entitu Azyl a chci je
propojit).
Azyl se propojí naprosto v pohodě a dostane přiřazenou entitu User.
Ale při snaze uložit entitu User s nově nastavenou vazbou
dostanu chybu:
PDO::quote(): Argument #1 ($string) must be of type string, App\Model\Orm\Entity\Azyl given
Naprosto netuším kdy se tam tahle věc vezme, string tam nikde neukládám. Má s tím spojené i další dotazy, ale tohle prostě nechápu. Kde se ta chyba vezme.
Vazby
#[ORM\OneToOne(inversedBy: 'azyls', targetEntity: Users::class)]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')]
private Users $user;
#[ORM\OneToOne(inversedBy: "user", targetEntity: Azyl::class)]
#[ORM\JoinColumn(name: "azyl_id", referencedColumnName: "id")]
#[ORM\Column(nullable: true)]
private ?Azyl $azyls;
Kód toho jak se ukládají změny:
if ($values->role === RoleTypeEnum::ROLE_AZYL)
{
$azyl = new Azyl();
$users = $this->usersRepository->getUserById($this->getPresenter()->getUser()->getId());
$users->setRole(RoleTypeEnum::ROLE_AZYL);
$users->setUpdatedAt(new DateTimeImmutable());
$users->setUpdatedBy($this->usersRepository->getUserById($this->getPresenter()->getUser()->getId()));
$azyl->setUser($users);
$users->setAzyls($azyl);
$this->azylRepository->saveAzyl($azyl);
$this->usersRepository->addUser($users);
$this->getPresenter()->flashMessage('Od této chvíle jste v roli Azylu!', 'alert-success');
$this->redirect('Azyl:profil');
}