/
ghx
/
TicketFlow
Обзор
Документация
Войти
/
ghx
/
TicketFlow
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
app/Http/Controllers/Admin/SessionController.php
70 строк
2 KB
osnov
.
26 июн 2026, 11:56
26 июн 2026, 11:56
dc2de34
Код
Авторство
О чём код?
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\Hall; use App\Models\Movie; use App\Models\Session; use Illuminate\Http\Request; class SessionController extends Controller { public function index() { $sessions = Session::with(['movie', 'hall'])->orderByDesc('start_time')->paginate(20); return view('admin.sessions.index', compact('sessions')); } public function create() { $movies = Movie::where('is_active', true)->orderBy('title')->get(); $halls = Hall::orderBy('name')->get(); return view('admin.sessions.create', compact('movies', 'halls')); } public function store(Request $request) { $validated = $request->validate([ 'movie_id' => 'required|exists:movies,id', 'hall_id' => 'required|exists:halls,id', 'start_time' => 'required|date', 'price' => 'required|numeric|min:0', ]); Session::create($validated); return redirect()->route('admin.sessions.index')->with('success', 'Сеанс создан.'); } public function edit(Session $session) { $movies = Movie::where('is_active', true)->orderBy('title')->get(); $halls = Hall::orderBy('name')->get(); return view('admin.sessions.edit', compact('session', 'movies', 'halls')); } public function update(Request $request, Session $session) { $validated = $request->validate([ 'movie_id' => 'required|exists:movies,id', 'hall_id' => 'required|exists:halls,id', 'start_time' => 'required|date', 'price' => 'required|numeric|min:0', ]); $session->update($validated); return redirect()->route('admin.sessions.index')->with('success', 'Сеанс обновлён.'); } public function destroy(Session $session) { $session->delete(); return redirect()->route('admin.sessions.index')->with('success', 'Сеанс удалён.'); } }