Files
Test-Laravel-Auth-Basics/app/Http/Controllers/ProfileController.php
T

43 lines
1.2 KiB
PHP
Raw Normal View History

2021-10-31 18:48:55 +02:00
<?php
namespace App\Http\Controllers;
use App\Http\Requests\ProfileUpdateRequest;
2025-04-03 21:42:12 +09:00
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\Rule;
use Illuminate\Validation\Rules\Password;
2021-10-31 18:48:55 +02:00
class ProfileController extends Controller
{
public function show()
{
return view('auth.profile');
}
2025-04-03 21:42:12 +09:00
2021-10-31 18:48:55 +02:00
public function update(ProfileUpdateRequest $request)
{
// Task: fill in the code here to update name and email
// Also, update the password if it is set
2025-04-03 21:42:12 +09:00
$validated = request()->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'email', Rule::unique('users')->ignore(Auth::user())],
'password' => ['sometimes', 'nullable', 'confirmed', Password::defaults()],
]);
//dd($validated);
Auth::user()->update([
'name' => $validated['name'],
'email' => $validated['email'],
]);
if (isset($validated['password'])) {
Auth::user()->update([
'password' => Hash::make($validated['password']),
]);
}
2021-10-31 18:48:55 +02:00
2021-11-01 07:48:35 +02:00
return redirect()->route('profile.show')->with('success', 'Profile updated.');
2021-10-31 18:48:55 +02:00
}
}