本文整理匯總了PHP中app\models\Event::replicate方法的典型用法代碼示例。如果您正苦於以下問題:PHP Event::replicate方法的具體用法?PHP Event::replicate怎麽用?PHP Event::replicate使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類app\models\Event
的用法示例。
在下文中一共展示了Event::replicate方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: reschedule
/**
* Reschedule an existing event.
*
* @param Event $oldEvent
* @param array $data
* @return Event
* @throws Exception
*/
public function reschedule(Event $oldEvent, array $data)
{
try {
DB::beginTransaction();
// Recreate venue
$newVenue = $oldEvent->venue->replicate();
if (is_array($data['venue']) && count($data['venue'])) {
$newVenue->fill($data['venue']);
}
$newVenue->save();
// Recreate event
$newEvent = $oldEvent->replicate();
if (is_array($data['event']) && count($data['event'])) {
$newEvent->fill($data['event']);
}
$newEvent->status_id = EventStatus::ACTIVE;
$newEvent->venue_id = $newVenue->id;
$newEvent->save();
DB::commit();
return $newEvent;
} catch (\Exception $e) {
DB::rollBack();
throw $e;
}
}