Возможно ли в 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();
] Не работает и выдает ошибку "Обнаружена новая сущность через связь, которая не была настроена для каскадного сохранения операций: Entities \Роль @ 0000000004a29c11000000005c48cb75.
x
if (keyboardManager-> isKeyDown [27]) glutExit ();
Что пошло не так:
Это в Visual Studio 2008 C ++.
ОБНОВЛЕНИЕ
Я обнаружил, что исключение составляет брошен, потому что я нахожусь в отладке. Так что проблем не будет. Но вопрос все еще остается открытым: Какой самый элегантный способ на самом деле избавиться от перенасыщения?
atexit ()
, похоже, тоже работает, так что, может быть, я смогу его использовать?