Rzeczywiście mój błąd. chciałabym Cię jeszcze poprosić o pomoc w jednej sprawie.
Mam dwie encje połączone taką relacją:
class User extends BaseUser
{
...
/**
* @var Article[]|ArrayCollection
*
* @ORM\OneToMany(targetEntity="Cooperation", mappedBy="patient", cascade={"ALL"})
*/
private $therapists;
/**
* @var Article[]|ArrayCollection
*
* @ORM\OneToMany(targetEntity="Cooperation", mappedBy="therapist", cascade={"ALL"})
*/
private $patients;
}
class Cooperation
{
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="User", inversedBy="therapists")
* @ORM\JoinColumn(name="patient", referencedColumnName="id")
*/
private $patient;
/** @ORM\Id
* @ORM\ManyToOne(targetEntity="User", inversedBy="patients")
* @ORM\JoinColumn(name="therapist", referencedColumnName="id")
*/
private $therapist;
...
Próbuję zrobić do tego pewien formularz.
Jeśli zrobię to tak:
public function buildForm
(FormBuilderInterface
$builder, array $options) {
$builder
->add('patient', HiddenType::class)
->add('therapist', HiddenType::class)
->add('comment', TextareaType::class, [
'label' => false,
'attr' => [
'class' => 'form-control add-comment',
'rows' => '4',
'cols' => '20',
],
]);
to wtedy mam po wygenerowaniu formularza w tych polach mam w wartości 'username' zamiast 'id'. Jeśli taki formularz wyślę ajaxem to nijak nie umiem go zwalidować.