ユーザーのIDをコントローラーに渡しています。この ID は、別のエンティティのフィールドを埋めるために使用されるため、このエンティティは自分がどこに属しているかを知ることができます。コントローラーのコードは
public function nuevamedidaAction($id, Request $peticion){
$em = $this->get('doctrine')->getEntityManager();
$medida = new \Goodday\PreditBundle\Entity\Medida;
$medida->setHijo($id);
$form = $this->createForm(new \Goodday\PreditBundle\Form\MedidaType(), $medida);
$form->handleRequest($peticion);
if ($form->isValid()) {
$em->persist($medida);
$em->flush();
return $this->render('PreditBundle:Default:test2.html.twig');
}
return $this->render('PreditBundle:Medida:newmedida.html.twig', array('form' => $form->createView(), 'error' => $form->getErrors()));
}
私のエンティティのフィールド「hijo」は次のようになります。
/**
* @ORM\ManyToOne(targetEntity="Hijo", inversedBy="medidas", cascade={"remove"})
* @ORM\JoinColumn(name="hijo_id", referencedColumnName="id")
*/
保護された $hijo;
次のエラーが返されます
「キャッチ可能な致命的なエラー: Goodday\PreeditBundle\Entity\Medida::setHijo() に渡される引数 1 は、Goodday\PreeditBundle\Entity\Hijo のインスタンスである必要があります。指定された文字列は、C:\Users\Diego\Desktop\Practicas\ で呼び出されます。 predit\src\Goodday\PreeditBundle\Controller\HijoController.php は 74 行目にあり、C:\Users\Diego\Desktop\Practicas\preedit\src\Goodday\PreeditBundle\Entity\Medida.php 行 461 で定義されています"
すべての回答に感謝します