Doctrine 2 ManyToMany cascade

Возможно ли в Doctrine 2 создать два объекта, которые связаны между собой, и вызовы сохраняются только на одном из них, чтобы сохранить оба?

Сущность пользователя:

    /**
 * 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;

Сущность роли:

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

Сохранение:

    $role = new Role();

    $user = new User();

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

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

Не работает и выдает ошибку «Новая сущность была обнаружена через связь, которая не была настроена для каскадных операций сохранения: Сущности \Роль @ 0000000004a29c11000000005c48cb75.

  1. Закрытие окна перенасыщения
  2. Закрытие консольного приложения с помощью x
  3. Закрытие моего окна перенасыщения с помощью диспетчера клавиатуры if (keyboardManager-> isKeyDown [27]) glutExit ();

Что пошло не так:

  1. Закрытие консольного приложения с помощью CTRL + C дает исключение сверху.

Это в Visual Studio 2008 C ++.

ОБНОВЛЕНИЕ

Я обнаружил, что исключение составляет брошен, потому что я нахожусь в отладке. Так что проблем не будет. Но вопрос все еще остается открытым: Каков наиболее элегантный способ на самом деле избавиться от перенасыщения?

atexit () , похоже, тоже работает, так что, может быть, я смогу это использовать? -1118374- Автоматическое добавление console.log к каждой функции Есть ли способ заставить любую функцию выводить оператор console.log, когда он ' s вызывается путем регистрации глобального хука где-нибудь (то есть без изменения самой функции) или через какой-либо другой ...

Есть ли способ заставить любую функцию выводить оператор console.log, когда он вызывается, путем регистрации глобального где-нибудь (то есть без изменения самой функции) или каким-либо другим способом?

90
задан JRL 17 February 2011 в 19:51
поделиться