Estoy siguiendo el capítulo de seguridad del libro de Symfony 2. Hay un ejemplo con una tabla USERS
y GROUPS
. Hay una relación many-to-many entre USERS
y GROUPS
, que crea en la base de datos una tabla llamada USERGROUPS
.Eliminación de registros en la tabla de muchos a muchos
Lo que yo quiero es eliminar un registro de USERGROUPS
, por ejemplo:
DELETE from USERGROUPS WHERE user_id = 1 and group_id = 1
No sé cómo hacer esto, ya que no tengo un archivo USERGROUPS.php
mesa.
Usando DQL, por ejemplo, yo quiero ser capaz de hacer esto:
$em = $this->getDoctrine()->getEntityManager();
$query = $em->createQuery(
'DELETE FROM AcmeStoreBundle:UserGroups ug WHERE ug.user_id = :user
and ug.group_id = :group'
)->setParameter(array('user' => $userid, 'group' => $groupid));
espero se entiende la idea.
Entonces, ¿cómo elimino de esta tabla?
Ethan. ¡Muchas gracias! Funcionó :) ¿Por qué Symfony no generó este método automáticamente? Creo que es una tarea realmente común eliminar algo de la tabla de muchos a muchos. –
Sí, siempre me he preguntado por qué Symfony tampoco genera métodos de eliminación (ya que genera addMethods). Me alegro de que funcionó! – Ethan
¿Qué sucede si hay 1,000,000 de registros en la tabla de muchos a muchos relacionados con este usuario y necesito eliminar solo uno? Doctrine cargará todos los registros? –