/** * Responds to requests to GET /conjugation/show/{$id} */ public function getRandom() { // # Get this conjugation and eager load the verb and tense information $conjugation = \App\Conjugation::with('verb', 'tense')->get(); # Not most efficient implementation. Thus far unable to get random working with above statement. $conjugation = $conjugation->random(); $formModel = new \App\Form(); $person_array = $formModel->getPersonArray(); return view('conjugations.random')->with(['conjugation' => $conjugation, 'person_array' => $person_array]); }
/** * Responds to requests to POST /quiz/query * Processes and returns validated form. */ public function postQuizQuery(Request $request) { $this->validate($request, ['p1' => 'required|min:1', 'p2' => 'required|min:1', 'p3' => 'required|min:1', 'p4' => 'required|min:1', 'p5' => 'required|min:1', 'p6' => 'required|min:1']); $request_conj_array = array(); $request_conj_array[1] = $request->p1; $request_conj_array[2] = $request->p2; $request_conj_array[3] = $request->p3; $request_conj_array[4] = $request->p4; $request_conj_array[5] = $request->p5; $request_conj_array[6] = $request->p6; //dump($request_conj_array); $verb = $request->infinitive_it; $infinitive_it = $request->infinitive_it; $tense = $request->tense; //dump($verb); //dump($tense); $verbModel = new \App\Verb(); $verbs_for_dropdown = $verbModel->getVerbsFullyConjugated(); //dump($verbs_for_dropdown); $tenseModel = new \App\Tense(); $tenses_for_dropdown = $tenseModel->getTensesForDropdown(); $conjugationModel = new \App\Verb(); $conjugations = \App\Conjugation::where('verb_id', '=', $verb)->where('tense_id', '=', $tense)->get(); //dump($conjugations); $conjugation_array = array(); foreach ($conjugations as $conjugation) { $conjugation_array[1] = $conjugation->first_p_singular; $conjugation_array[2] = $conjugation->second_p_singular; $conjugation_array[3] = $conjugation->third_p_singular; $conjugation_array[4] = $conjugation->first_p_plural; $conjugation_array[5] = $conjugation->second_p_plural; $conjugation_array[6] = $conjugation->third_p_plural; } //dump($conjugation_array); # returns an array of all persons (i.e. "first person singular" etc.) $formModel = new \App\Form(); $person_array = $formModel->getPersonArray(); # multi-dimensional array used to store response and validation class $response_class_array = array(); # needed to start at 1 to avoid offset error since tense array begins at 1 for ($i = 1; $i < 7; $i++) { if ($conjugation_array[$i] == $request_conj_array[$i]) { # Bootstrap class that puts green "success" border around form field $response_class_array[0][$i] = 'form-group has-success has-feedback'; # Boostrap class that puts green checkmark in text box $response_class_array[1][$i] = 'glyphicon-ok'; # used for user statistics $response_class_array[2][$i] = TRUE; } else { # Bootstrap class that puts red "error" border around form field $response_class_array[0][$i] = 'form-group has-error has-feedback'; # Boostrap class that puts red "x" in text box $response_class_array[1][$i] = 'glyphicon-remove'; # used for user statistics $response_class_array[2][$i] = FALSE; } } $user_id = \Auth::id(); //dump($user_id); $params_for_transaction = array(); $params_for_transaction[0] = $user_id; $params_for_transaction[1] = $verb; $params_for_transaction[2] = $tense; $params_for_transaction[3] = $response_class_array[2][1]; $params_for_transaction[4] = $response_class_array[2][2]; $params_for_transaction[5] = $response_class_array[2][3]; $params_for_transaction[6] = $response_class_array[2][4]; $params_for_transaction[7] = $response_class_array[2][5]; $params_for_transaction[8] = $response_class_array[2][6]; $transactionModel = new \App\Transaction(); $transactionModel->addTransaction($params_for_transaction); // # returns an array of all persons (i.e. "first person singular" etc.) // $formModel = new \App\Form(); // $person_array = $formModel->getPersonArray(); // // //for testing purposes // //dump($tenses_for_dropdown); // // dump($response_class_array); // dump($person_array); $ptext = array('p0', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6'); $p = array(); for ($i = 1; $i < 7; $i++) { $p[$i] = $request->{$ptext}[$i]; } //$request->p1; //dump($p); //dump($request); return view('quiz.query')->with(['verbs_for_dropdown' => $verbs_for_dropdown, 'tenses_for_dropdown' => $tenses_for_dropdown, 'response_class_array' => $response_class_array, 'person_array' => $person_array, 'p' => $p, 'infinitive_it' => $infinitive_it, 'Request' => $request]); }