本文整理汇总了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;
}
}