/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { try { DB::beginTransaction(); $question = new CompetitionQuestion(); $question->question = $request->question; $question->question_mm = $request->question_mm; $question->description = $request->description; $question->description_mm = $request->description_mm; $question->instruction_about_game = $request->instruction_about_game; $question->start_date = $request->start_date; $question->end_date = $request->end_date; $question->save(); $users = User::all(); if ($users) { $group_users = array(); foreach ($users as $i => $user) { //Grouping if (isset($user['tlg_city_address']) && $user['tlg_city_address']) { $group_users[$user['tlg_city_address']][] = $user; } } $group_index = 1; $i = 0; foreach ($group_users as $key => $city) { foreach ($city as $user) { if ($i % 5 == 0) { $group_name = 'Group - ' . $group_index++; } $group_user = new CompetitionGroupUser(); $group_user->group_name = $group_name; $group_user->user_id = $user['id']; $group_user->username = $user['username']; $group_user->phone = $user['phoneNo']; $group_user->profile_img = isset($user['user_profile_img']) ? json_encode($user['user_profile_img']) : null; $group_user->group_city = $key; $group_user->competition_question_id = $question->id; $group_user->save(); $i++; } } } else { DB::rollBack(); return response()->json('Something went wrong in parse.', 400); } DB::commit(); } catch (Exception $e) { DB::rollBack(); return response()->json('Something went wrong.', 400); } return response()->json($question); }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { // create the validation rules ------------------------ $rules = array('question' => 'required|min:20', 'question_mm' => 'required|min:20', 'description' => 'required|min:20', 'description_mm' => 'required|min:20', 'instruction' => 'required|min:20', 'instruction_mm' => 'required|min:20', 'start_date' => 'required', 'end_date' => 'required', 'groupusers' => 'required'); // do the validation ---------------------------------- // validate against the inputs from our form $validator = Validator::make($request->all(), $rules); // check if the validator failed ----------------------- if ($validator->fails()) { // get the error messages from the validator $messages = $validator->messages(); // redirect our user back to the form with the errors from the validator return redirect('admin/competition-question/create')->withErrors($validator)->withInput(); } try { DB::beginTransaction(); $question = new CompetitionQuestion(); $question->question = $request->question; $question->question_mm = $request->question_mm; $question->description = $request->description; $question->description_mm = $request->description_mm; $question->instruction_about_game = $request->instruction; $question->instruction_about_game_mm = $request->instruction_mm; $question->group_description = $request->group_description; $question->group_description_mm = $request->group_description_mm; $question->answer_submit_description = $request->answer_submit_description; $question->answer_submit_description_mm = $request->answer_submit_description_mm; $question->start_date = date('Y-m-d H:i:s', strtotime($request->start_date)); $question->end_date = date('Y-m-d H:i:s', strtotime($request->end_date)); $question->user_count = $request->groupusers; $groupuserscount = $request->groupusers; $question->save(); $all_user = $request->all_user; $users = User::all(); if ($users) { $group_users = array(); foreach ($users as $i => $user) { //Grouping if ($all_user) { if (isset($user['username']) && $user['username']) { $group_users[$user['username']][] = $user; } } else { if (isset($user['tlg_city_address']) && $user['tlg_city_address']) { $group_users[$user['tlg_city_address']][] = $user; } } } $group_index = 1; $i = 0; foreach ($group_users as $key => $city) { foreach ($city as $user) { if ($i % $groupuserscount == 0) { $group_name = 'Group - ' . $group_index++; } $group_user = new CompetitionGroupUser(); $group_user->group_name = $group_name; $group_user->user_id = $user['id']; $group_user->username = $user['username']; $group_user->phone = $user['phoneNo']; $group_user->profile_img = isset($user['user_profile_img']) ? json_encode($user['user_profile_img']) : null; $group_user->group_city = $user['tlg_city_address']; $group_user->competition_question_id = $question->id; $group_user->save(); $i++; } } } else { DB::rollBack(); return response()->json('Something went wrong in parse.', 400); } DB::commit(); } catch (Exception $e) { DB::rollBack(); return response()->json('Something went wrong.', 400); } return redirect('/admin/competition-question'); }