public function postCausesCreate(Request $request) { //Start transaction DB::beginTransaction(); // create the validation rules ------------------------ $rules = array('name' => 'Required|Unique:causes', 'description' => 'Required'); // do the validation ---------------------------------- // validate against the inputs from our form $validator = Validator::make(Input::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(route('getCausesCreate'))->withErrors($validator); } else { // validation successful --------------------------- try { $cause = new Cause(); $cause->uuid = Uuid::generate(4); $cause->name = $request->input('name'); $cause->description = $request->input('description'); if ($request->has('DGR')) { $cause->DGR = $request->input('DGR'); } else { $cause->DGR = 0; } if ($request->has('active')) { $cause->active = $request->input('active'); } else { $cause->active = 0; } $cause->total_donations = 0; $cause->number_of_donations = 0; $cause->save(); //create cause meta $cause_meta = new CauseMeta(); $cause_meta->cause_id = $cause->id; $cause_meta->save(); Log::info('Cause created successfully id=' . $cause->id); // If we reach here, then // data is valid and working. // Commit the queries! DB::commit(); return redirect(route('getCausesCreate'))->withFlashMessage('Causes created.'); } catch (Exception $e) { DB::rollback(); throw $e; } } }