0

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オブジェクトを再利用する方法はありますか? 通知フィールド作成のロジックが少し複雑なので、そうしたいと思います。

4

1 に答える 1

1

コピーはあなたが探しているものです。

// 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();
}
于 2011-09-04T09:30:09.353 に答える