/** * @param $id * @return mixed */ public static function getElement($id) { return Element::findOrFail($id); }
public function show($id) { $experiment = Experiment::findOrFail($id); $elements = array(); $element = Element::find($experiment->element_id); $xor2 = array(); $xorElement = null; $antworten = array(); while ($element != null) { if ($element->type == 5) { $xorElement = $element; $xor = json_decode($element->ref, true); $xor2 = array(); if (is_array($xor)) { foreach ($xor as $pkey => $pfad) { foreach ($pfad as $ekey => $el) { $ele = Element::find($el); if ($ele->type == 2 or $ele->type == 3 or $ele->type == 4) { $xor2[$pkey][$ekey] = $ele; $antwortenObjects = Answer::where("element", $ele->id)->where("experiment", $id)->get(); foreach ($antwortenObjects as $antwortObject) { $antworten[$antwortObject->student][$ele->id] = $antwortObject; } } } } } } elseif ($element->type == 2 or $element->type == 4 or $element->type == 3) { $elements[] = Element::findOrFail($element->id); $antwortenObjects = Answer::where("element", $element->id)->where("experiment", $id)->get(); foreach ($antwortenObjects as $antwortObject) { $antworten[$antwortObject->student][$element->id] = $antwortObject; } } $element = $element->next(); } $elements = array_merge($elements, [$xor2]); $fields = array(); $fields2 = Field::all(); foreach ($fields2 as $field) { $fields[$field->id] = $field; } return view('auswertung.show', compact('experiment', 'elements', 'antworten', 'xorElement', 'fields')); }
public function orderXor(Request $request) { if (!Auth::check()) { return redirect('/auth/login'); } $element = Element::findOrFail($request->element); $element->ref = json_encode($request->array); $element->save(); return 'ok'; }