/** * Save data * * @param Request $request Request * @param ID $module_id Module id * * @return boolean */ public function saveData($request, $module_id = '') { if ($module_id) { $modules = self::find($module_id); $modules->actions()->delete(); } else { $modules = new self(); } $modules->name = $request->input('name'); $modules->route_key = $request->input('route_key'); $results = $modules->save(); $actions = []; if ($request->input('module_action')) { foreach ($request->input('module_action') as $module_action) { array_push($actions, ModuleAction::firstOrNew(['module_id' => $modules->id, 'action_key' => $module_action])); } } if ($results) { $modules->actions()->saveMany($actions); } return $results; }