public function learn($id) { $cardpack = Cardpack::findOrFail($id); if ($cardpack->user->id != Auth::id()) { return redirect('cardpacks'); } if (isset($_REQUEST["finished"])) { $finished = explode(',', $_REQUEST["finished"]); } else { $finished = [0]; } if (isset($_REQUEST['card_id'])) { array_push($finished, $_REQUEST['card_id']); } //Get random cards $card = Card::orderByRaw("RAND()")->where('cardpack_id', $id)->whereNotIn('id', $finished)->limit(1)->get(); //Get Current Card number if (isset($_REQUEST["cardnumber"])) { $cardnumber = intval($_REQUEST["cardnumber"]) + 1; } else { $cardnumber = 1; } //Get complete number of cards $numberOfCards = count($cardpack->cards); //Check if there are any card left if (count($card) == 0) { return redirect('cardpacks'); } if (isset($_REQUEST["singleCard"]) && $_REQUEST["singleCard"] == true) { return view('cards._single', ['cardpack' => $cardpack, 'card' => $card[0], 'finished' => $finished, 'cardnumber' => $cardnumber, 'numberOfCards' => $numberOfCards]); } else { return view('cardpacks.learn', ['cardpack' => $cardpack, 'card' => $card[0], 'finished' => $finished, 'cardnumber' => $cardnumber, 'numberOfCards' => $numberOfCards]); } }