previous?->next()?->associate($page)?->saveQuietly(); $page->next?->previous()?->associate($page)?->saveQuietly(); $oldPreviousId = $page->getOriginal(Page::ATTRIBUTE_PREVIOUS); if ($oldPreviousId && $oldPreviousId !== $page->previous?->getKey()) { Page::query()->find($oldPreviousId)->next()->disassociate()->saveQuietly(); } $oldNextId = $page->getOriginal(Page::ATTRIBUTE_NEXT); if ($oldNextId && $oldNextId !== $page->next?->getKey()) { Page::query()->find($oldNextId)->previous()->disassociate()->saveQuietly(); } DB::commit(); } catch (Exception $e) { Log::error($e->getMessage()); DB::rollBack(); throw $e; } } }