Doctrine 2 ManyToMany cascade

Est-il possible dans la Doctrine de 2 à créer deux objets qui sont nombreux à de nombreuses et appel persistent seulement sur l'un d'eux pour sauver les deux?

Entité utilisateur:

    /**
 * Owning Side
 *
 * @ManyToMany(targetEntity="Role", inversedBy="users", cascade={"persist"})
 * @JoinTable(name="user_roles",
 *      joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")},
 *      inverseJoinColumns={@JoinColumn(name="role_id", referencedColumnName="id")}
 *      )
 */
public $roles;

Rôle de l'entité:

    /**
 * Inverse Side
 *
 * @ManyToMany(targetEntity="User", mappedBy="roles")
 */
public $users;

De l'épargne: les

    $role = new Role();

    $user = new User();

$user->roles->add($role);
$role->users->add($user);

$em->persist($user);
$em->flush();

Il ne fonctionne pas et trows une erreur", Une nouvelle entité a été trouvé par une relation qui n'a pas été configuré pour cascade persist opérations: les Entités\Rôle@0000000004a29c11000000005c48cb75. Explicitement persister la nouvelle entité ou configurer en cascade persist opérations sur la relation."

OriginalL'auteur awattar | 2011-02-17