Update menu
public update ( |
||
$menu | menu instance | |
return |
/** * Update menu * * @param Menu $menu menu instance * @return Menu */ public function update(Menu $menu) { $menu = $this->repo->update($menu); $key = $this->getCacheKey($menu->getKey()); $this->cache->put($key, $menu); return $menu; }
/** * Update category * * @param Menu $menu menu instance * @return Menu */ public function put(Menu $menu) { return $this->repo->update($menu); }
/** * Update menu * * @param Menu $menu menu instance * @return Menu */ public function update(Menu $menu) { $this->cache->forget($this->getCacheKey($menu->siteKey . '_all')); $this->cache->forget($this->getCacheKey($menu->getKey())); return $this->repo->update($menu); }
/** * Update menu * * @param Menu $menu menu instance * @return Menu */ public function update(Menu $menu) { $menu = $this->repo->update($menu); $this->bag[$menu->getKey()] = $menu; return $menu; }
/** * Move menu item * * @param Menu $menu menu instance * @param MenuItem $item menu item instance * @param MenuItem|null $parent menu item instance * @return MenuItem * @throws InvalidArgumentException */ public function moveItem(Menu $menu, MenuItem $item, MenuItem $parent = null) { if ($parent && $menu->getKey() != $parent->menu->getKey()) { throw new InvalidArgumentException(['name' => 'parent object']); } if ($item->{$item->getParentIdName()}) { $oldParent = $this->repo->findItem($item->{$item->getParentIdName()}); $this->unlinkHierarchy($item, $oldParent); $item->{$item->getParentIdName()} = null; } if ($parent) { $this->linkHierarchy($item, $parent); $item->parentId = $parent->getKey(); } // 캐시를 사용하는 경우 기존 메뉴를 대상으로 하는 캐시의 갱신이 필요하여 // 변경전 업데이트를 수행함 $this->repo->update($item->menu); $item->{$item->getAggregatorKeyName()} = $menu->getKey(); $item->setRelation('menu', $menu); $item = $this->repo->updateItem($item); // 연관 객체 정보들이 변경 되었으므로 객채를 갱신 함 return $this->repo->findItem($item->getKey()); }