RegisterProfileController.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Requests\ProfileRequest;
  4. use App\Models\Profile;
  5. use App\User;
  6. use Illuminate\Http\Request;
  7. use App\Http\Controllers\Controller;
  8. use Illuminate\Support\Facades\Auth;
  9. use Illuminate\Support\Facades\Input;
  10. class RegisterProfileController extends Controller
  11. {
  12. public function create()
  13. {
  14. $profile = Profile::where('user_id', Auth::id())->first() ?? new Profile();
  15. return view('userprofile.profile', ['profile' => $profile]);
  16. }
  17. /**
  18. * Store a newly created resource in storage.
  19. *
  20. * @param \Illuminate\Http\Request $request
  21. * @return \Illuminate\Http\Response
  22. */
  23. public function store(ProfileRequest $request)
  24. {
  25. $user = Auth::user();
  26. if ($request->isMethod('POST')) {
  27. $profile = Profile::where('user_id', Auth::id())->first();
  28. if ($profile) {
  29. $profile->fill($request->except('_token', 'submit'));
  30. $profile->update();
  31. }
  32. if (!$profile) {
  33. $profile = new Profile($request->all());
  34. $profile->save();
  35. }
  36. }
  37. return redirect()->route('home')->with(['message' => 'Профиль создан']);
  38. }
  39. public static function createView()
  40. {
  41. return self::create();
  42. }
  43. }