Код :
public function deleteAction(Request $request, $id)
{
$form = $this->createDeleteForm($id);
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('WindowsBundle:Category')->find($id);
$query = $em->createQuery(
'SELECT c.name FROM WindowsBundle:Category c
WHERE c.id=:id')
->setParameter('id',$id);
$entity_name = $query->getResult();
$entity_product=$em->getRepository('WindowsBundle:Product')->findBy(array('category'=>$entity_name));
if (!$entity ) {
throw $this->createNotFoundException('Unable to find Category entity.');
}
$em->remove($entity);
$em->flush();
if($entity_product!==null)
{
$em->remove($entity_product);
$em->flush();
}
}
Я пытаюсь удалить категорию(CategoryEntity) которая связана с (ProductEntity) Если удалить просто категорию, то объект (ProductEntity) который запрашивает данные из CategoryEntity выбивает ошибку.
Потому пытаюсь реализовать с помощью вот этой части и потом удалить :
$query = $em->createQuery(
'SELECT c.name FROM WindowsBundle:Category c
WHERE c.id=:id')
->setParameter('id',$id);
$entity_name = $query->getResult();
$entity_product=$em->getRepository('WindowsBundle:Product')->findBy(array('category'=>$entity_name));
и потом удалить здесь же.Но выбивает:
EntityManager#remove() expects parameter 1 to be an entity object, array given.
Буду очень благодарен за помощь.