Ya hice todo lo que me dijiste, y leyendo en la url que me dejaste el atributo phones en la entidad User le modifique las anotaciones de la siguiente manera:
Código PHP:
Ver original/**
* @var Phones
*
* @ORM\OneToMany(targetEntity="Phone", mappedBy="hostal", cascade={"persist" , "remove"})
* @Assert\Valid
*/
protected $phones;
pero lamentablemente me sigue dando el mismo error, me valida, pero cuando reviso la base de datos el teléfono ha sido modificado, voy a ponerte también a continuación el código del controlador para que también lo veas
Código PHP:
Ver original<?php
namespace AppBundle\Controller\Admin;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class UserController extends Controller {
public function editAction(Request $request, $id) {
$translator = $this->get('translator');
$em = $this->getDoctrine()->getManager();
$user = $em->getRepository('AppBundle:User')->findOneById($id);
if (!$user)
return Helpers
::error404($this, $translator->trans('user.not.found', array(), 'admin'), $translator->trans('back.users', array(), 'admin'), 'fa fa-bed fa-fw', $this->generateUrl('admin_users'));
$originalPhones = array(); // Create an array of the current phones objects in the database
foreach ($user->getPhones() as $phone) {
$originalPhones[] = $phone;
}
$form = $this->createForm(new UserType(), $user);
if ($request->getMethod() == 'POST') {
$form->handleRequest($request);
if ($form->isValid()) {
//process to update the phones
// filter $originalPhones to contain tags no longer present
foreach ($user->getPhones() as $phone) {
foreach ($originalPhones as $key => $toDel) {
if ($toDel->getId() === $phone->getId()) {
unset($originalPhones[$key]); }
}
}
// remove the relationship between the phone and the User
foreach ($originalPhones as $phone) {
$user->getPhones()->removeElement($phone);
$em->remove($phone);
}
$em->persist($user);
return $this->redirect($this->generateUrl('admin_users'));
}
}
return $this->render('AppBundle:Admin/user:form.html.twig', array( 'form' => $form->createView(),
'action' => 'Edit',`
));
}
}