Review::with('game')->withSp()->get()]);} function all_about_game(Request $request) { return view('games/reviews/all', ['game'=>Game::find($request->review), 'reviews'=>Review::withSp()->where('game_id', $request->review)->get()]); } function all_about_critic(Request $request) { return view('critics/reviews/all', ['critic'=>Critic::find($request->review), 'reviews'=>Review::where('author_id', $request->review)->get()]); } function view_insert(Request $request) { return view('reviews/insert', [ 'game'=>Game::find($request->button), 'authors'=> Critic::with('specialization')->get() ]); } function view_update(Request $request) { return view('reviews/update', ['authors'=> Critic::with('specialization')->get(), 'reviews'=>Review::with('game')->withSp()->find($request->update)]); } // Взаимодействия со страницами function insert(Request $request) { // Добавить $request->validate([ 'text' => 'required', 'stars' => 'required|min:0|not_in:0|max:5', ], [ 'text.required' => 'Поле "Текст" не заполнено', 'stars.required' => 'Поле "Звезды" не заполнено', 'stars.min' => 'Количество звезд должно быть больше нуля', 'stars.max' => 'Количество звезд должно быть меньше нуля', 'stars.not_in' => 'Количество звезд должно быть не равно нулю' ]); $review = new Review; $review->author_id = $request->input("author"); $review->game_id = $request->input("id"); $review->text = $request->input("text"); $review->stars = $request->input("stars"); $review->save(); return back()->with('message', 'Рецензия добавлена!'); } function update(Request $request){ // Изменить $request->validate([ 'text' => 'required', 'stars' => 'required|min:0|not_in:0|max:5', ], [ 'text.required' => 'Поле "Текст" не заполнено', 'stars.required' => 'Поле "Звезды" не заполнено', 'stars.min' => 'Количество звезд должно быть больше нуля', 'stars.max' => 'Количество звезд должно быть меньше нуля', 'stars.not_in' => 'Количество звезд должно быть не равно нулю' ]); $review = Review::find($request->input("id")); $review->author_id = $request->input("author"); $review->text = $request->input("text"); $review->stars = $request->input("stars"); $review->save(); return back()->with('message', 'Рецензия обновлена!'); } function delete(Request $request){ Comment::where('post_type', "App\Models\Review")->where('post_id', $request->delete)->firstorfail()->delete(); Review::where('id', $request->delete)->firstorfail()->delete(); return back(); } }