Game::with('genre')->orderBy('created_at', 'desc')->get()]); } function view_insert() { return view('games/insert', ['genres' => Genre::all()]); } function view_update(Request $request) { $games = Game::with('genre')->find($request->update); $genres = Genre::all(); foreach ($genres as $genre) { foreach ($games->genre as $g) { if ($genre->id == $g->id) $genre->checed = "true"; } } return view('games/update', ['game' => $games, 'genres' => $genres]); } function insert(Request $request) { // Добавить $request->validate([ 'title' => 'required', 'release_date' => 'required' ], [ 'title.required' => 'Поле "название" не заполнено', 'release_date.required' => 'Поле "Дата релиза" не заполнено', ]); $game = new Game; $game->title = $request->input("title"); $game->description = $request->input("description"); $game->release_date = $request->input("release_date"); $game->save(); $genres = Genre::all(); for ($i = 0; $i < count($genres); $i++) if ($request->input($genres[$i]->id) == 'on') { $game_g = new Game_genre; $game_g->game_id = $game->id; $game_g->genre_id = $genres[$i]->id; $game_g->save(); } return back()->with('message', 'Игра добавлена!'); } function update(Request $request){ // Изменить $request->validate([ 'title' => 'required', 'release_date' => 'required', ], [ 'title.required' => 'Поле "название" не заполнено', 'release_date.required' => 'Поле "Дата релиза" не заполнено', ]); $game = Game::with('genre')->find($request->input("id")); $genres = Genre::all(); for ($i = 0; $i < count($genres); $i++) if ($request->input($genres[$i]->id) == 'on') { if (count(Game_genre::where('game_id', $game->id)->where('genre_id', $genres[$i]->id)->get()) == 0){ $game_g = new Game_genre; $game_g->game_id = $game->id; $game_g->genre_id = $genres[$i]->id; $game_g->save(); } } for ($i = 0; $i < count($game->genre); $i++) if ($request->input($game->genre[$i]->id) != 'on') Game_genre::where('game_id', $game->id)->where('genre_id', $game->genre[$i]->id)->delete(); $game = Game::find($request->input("id")); $game->title = $request->input("title"); $game->description = $request->input("description"); $game->release_date = $request->input("release_date"); $game->save(); return back()->with('message', 'Игра обновлена!'); } function delete(Request $request){ $reviews = Review::where('game_id', $request->delete)->get(); foreach ($reviews as $review) Comment::where('post_type', 'use App\Models\Game;')->where('post_id', $review->id)->delete(); Review::where('game_id', $request->delete)->delete(); Game_genre::where('game_id', $request->delete)->delete(); Game::where('id', $request->delete)->delete(); return back(); } }