Devise\Menus\MenusManager::updateMenu PHP Method

updateMenu() public method

Updates the active field of a Menu
public updateMenu ( $id, array $input ) : Menu
$id
$input array
return Menu || null
    public function updateMenu($id, $input)
    {
        $validator = $this->Validator->make($input, $this->updateRules($id));
        if ($validator->fails()) {
            $this->message = 'Validation failure.';
            $this->errors = $validator->errors()->all();
            return false;
        }
        $menu = $this->Menu->findOrFail($id);
        $menu->name = $input['name'];
        $menu->save();
        $this->syncMenuItems($menu, $input);
        return $menu;
    }

Usage Example

Example #1
0
 /**
  * Update a Menu
  *
  * @param  integer $id
  * @param  array   $input
  * @return Redirect
  */
 public function requestUpdate($id, $input)
 {
     if ($this->Manager->updateMenu($id, $input)) {
         return $this->Redirect->route('dvs-menus');
     }
     return $this->Redirect->route('dvs-menus-edit', $id)->withInput()->withErrors($this->Manager->errors)->with('message', $this->Manager->message);
 }