Повторно использовать объект Doctrine_Record, чтобы сохранить несколько экземпляров модели - PullRequest
0 голосов
/ 02 сентября 2011

Я работаю над каким-то модулем уведомлений в приложении Symfony.Я перебираю Doctrine_Collection пользователей, чтобы создать Notification для каждого пользователя с активным флагом в своем профиле:

// Create and define common values of notification
$notification = new Notification();
$notification->setField1('...');
$notification->setField2('...');
...

// Post notification to users
foreach ( sfGuardUserTable::getInstance()->findByNotifyNewOrder(true) as $user ) {
  $notification->setUserId($user->getId());
  $notification->save();
}

Проблема в том, что после сохранения первого уведомления я не могу повторно использоватьобъект для хранения новых записей в базе данных.Я пробовал $notification->setId() с null и '', но сохранение обновлений объекта вместо сохранения нового.

Есть ли способ повторно использовать объект $notification?Я хотел бы сделать это, потому что логика создания полей уведомлений немного сложна.

1 Ответ

1 голос
/ 04 сентября 2011

Копия - это то, что вы ищете.

// Create and define common values of notification
$notification = new Notification();
$notification->setField1('...');
$notification->setField2('...');
...

// Post notification to users
foreach ( sfGuardUserTable::getInstance()->findByNotifyNewOrder(true) as $user ) {
  $newNotification = $notification->copy();
  $newNotification->setUserId($user->getId());
  $newNotification->save();
}
...