こんにちは私のdbに情報を保存する必要があります。関係がmanytomanyのときにはどうやって維持するのですか?私はエンティティメニューのいくつかのコードを配置します。コントローラのsymfonyの関係に情報を保存ManyToMany HELPPPPP
/** Agrega nuevo menù
*
* @Route("/save", name="admin_menu_save")
* @Method({"GET", "POST"})
* @param Request $request
* @return Response
*/
public function saveAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$fecha_menu = $request->get('fecha');
$fecha_comprar = $request->get('fechacomprado');
$fecha_vencimiento = $request->get('fechavencimiento');
$alimentos = $request->get('select_alimentos');
$a = $em->getRepository('AdminBundle:Alimento')->findBy($alimentos);
$menu = new Menu();
$menu->setFecha(new \DateTime($fecha_menu));
$menu->setFechacomprar(new \DateTime($fecha_comprar));
$menu->setFechavence(new \DateTime($fecha_vencimiento));
$menu->setPrecio(6);
$menu->addAlimento($a);
$em->persist($menu);
$em->flush();
return new Response('Guardado OK');
}
//Menu Entity Definition (Just the necessary code):
/**
* @ORM\ManyToMany(targetEntity="Alimento", inversedBy="menu")
* @ORM\JoinTable(name="alimento_menu",
* joinColumns={
* @ORM\JoinColumn(name="menu_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="alimento_id", referencedColumnName="id")
* }
*)
*/
private $alimento;
/**
* Constructor
*/
public function __construct()
{
$this->alimento = new ArrayCollection();
}
/**
* Add alimento
*
* @param \AdminBundle\Entity\Alimento $alimento
*
* @return Menu
*/
public function addAlimento(Alimento $alimento)
{
$this->alimento[] = $alimento;
return $this;
}
/**
* Remove alimento
*
* @param \AdminBundle\Entity\Alimento $alimento
*/
public function removeAlimento(Alimento $alimento)
{
$this->alimento->removeElement($alimento);
}
/**
* Get alimento
*
* @return ArrayCollection
*/
public function getAlimento()
{
return $this->alimento;
}
}
私は多対多の関係での作業経験していないが、私はこの問題を解決することを願って、that'sは非常に良いショーが、私は、保存、編集またはその多対多のテーブルに削除する方法を知っているドント!.. ..
あなたの 'Menu'エンティティ定義を投稿してください –
「うまくいかない」とはどういう意味ですか?それは例外ですか?データは保存されませんか? –
Excepcion:Unrecognizedフィールド:0 –