/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function postStore(Request $request) { $this->validation->mergeRules('alias', ['required', 'regex:/^[a-zа-я\\d-]+$/', 'unique:structure', 'max:255']); if ($this->validation->fails()) { return $this->validation->errors()->toJson(); } $structure = new Structure(); $data = $request->all(); $position = $this->currentModel->where('parent_id', null)->max('position'); $structure->alias = $data['alias']; $structure->parent_id = $data['parent_id']; $structure->controller = $data['controller']; $structure->position = ++$position; $structure->save(); $structure->structureLang()->create(['name' => $data['name'], 'language_id' => $data['language_id'], 'description' => $data['description']]); return Main::redirect(Route('edit_structure', ['id' => $structure->id]), '302', 'Structure was saved', 'Saved', 'success'); }