ApplicationController.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Support\Facades\Auth;
  4. use App\Models\Application;
  5. use App\Models\Course;
  6. use Illuminate\Http\Request;
  7. class ApplicationController extends Controller
  8. {
  9. public function index() {
  10. $applications = Auth::user()
  11. ->applications()
  12. ->with('course')
  13. ->orderBy('created_at')
  14. ->get();
  15. return view('applications.index', compact('applications'));
  16. }
  17. public function create() {
  18. $courses = Course::all();
  19. return view('applications.create', compact('courses'));
  20. }
  21. public function store(Request $request) {
  22. $request->validate([
  23. 'course_id' => ['required', 'exists:courses,id'],
  24. 'date_start' => ['required', 'date', 'after_or_equal:today'],
  25. 'payment_method' => ['required'],
  26. ]);
  27. Application::create([
  28. 'user_id' => Auth::id(),
  29. 'course_id' => $request->course_id,
  30. 'date_start' => $request->date_start,
  31. 'payment_method' => $request->payment_method,
  32. ]);
  33. return redirect()
  34. ->route('applications.index')
  35. ->with('success', 'Заявка успешно создана!');
  36. }
  37. }