public function moveItem(Request $request, $id)
{
/** @var CategoryItem $item */
if (!($item = CategoryItem::find($request->get('id')))) {
throw new InvalidArgumentHttpException();
}
$parent = CategoryItem::find($request->get('parentId'));
DB::beginTransaction();
try {
$item = XeCategory::moveTo($item, $parent);
XeCategory::setOrder($item, $request->get('ordering', 0));
} catch (Exception $e) {
DB::rollBack();
throw $e;
}
DB::commit();
}