سلام وقت بخیر
دوستان من یک پروفایل پیش فرض در نظر گفتم برای کاربران الان میخام پروفایل عوض کنم تو پنل مدیریتی ولی تو دیتابیس ذخیره نمیشه
تو پوشه images ذخیره میشه ولی تو دیتابیس نمیشه
کدهای مربوط به کنترلر
public function update(Request $request , User $user)
{
$data = $request->validate([
'profile' => ['nullable', 'image', 'max:2024'],
'name' => ['required','string', 'max:255'],
'email' => ['string', 'email', 'max:255', Rule::unique('users')->ignore($user->id)],
'phone' => ['string', 'max:255', Rule::unique('users')->ignore($user->id)],
]);
if(! is_null($request->password)) {
$request->validate([
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
$data['password'] = Hash::make($request->password);
}
if($request->hasFile('profile')) {
$file = $request->file('profile');
$ext = $file->getClientOriginalExtension();
$file_name = auth()->user()->id . '_' . time() . '.' . $ext;
$file->storeAs('/images', $file_name, 'public_files');
$data['profile'] = $file_name;
}
auth()->user()->update($data);
alert()->success('اطلاعات شما با موفقیت ویرایش شد');
return redirect(route('setting.index'));
}
مدل
public function getProfileUrl()
{
return asset('images/' . $this->profile);
}
فایل سیستم
'public_files' => [
'driver' => 'local',
'root' => public_path(),
'url' => env('APP_URL').'/',
'visibility' => 'public',
],
ویو
<img src="{{ auth()->user()->getProfileUrl() }}" width="150px" height="150px" class="image-rounded">
فقط عکس پیش فرض دیتابیس نمایش میده
بله درسته ممنونم 😑
شاید پاسخ شما همینجا باشد