重用一个Doctrine_Record对象来保存一个模型的多个实例



我正在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对象?我想这样做,因为通知字段创建的逻辑有点复杂。

就是你要找的。

// 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();
}

相关内容

  • 没有找到相关文章

最新更新