علیرضا مه آبادی
3 سال پیش توسط علیرضا مه آبادی مطرح شد
1 پاسخ

باگ مربوط به دیتابیس در ایجاد تصویر کاربر

درود بنده می خوام در پنل شخصی کاربر تصویر پروفایل اضافه کنم که با ارور زیر مواجه میشم.

Illuminate\Database\QueryException
SQLSTATE[HY000]: General error: 1364 Field 'name' doesn't have a default value (SQL: insert into `users` (`user_image`, `updated_at`, `created_at`) values (C:\xampp\tmp\phpC984.tmp, 2021-11-13 21:04:36, 2021-11-13 21:04:36))

نمیدوم چرا به فیلد name مشکل میگیره درصورتی که همه فیلد ها بجز user_image پر هستن , user_image داخل فیل ایبل هست
اینم کد مربوط به کنترلرم

  public function Store(Request $request, User $user)
    {
        $data = $request->validate([
            'user_image' => ['required', 'mimes:jpg,png,jpeg', 'max:5120']
        ]);
        $file = $request->file('user_image');
        $file_path = '/images/' . 'user-profile' . '/';
        $file->move(public_path($file_path), $file->getClientOriginalName());
        $data['user_image'] = $file_path . $file->getClientOriginalName();

        $user->create([
            'user_image' => $request->user_image
        ]);
        return redirect('/user-profile');
    }

و اینم روت مربوطه

Route::post('/store', [App\Http\Controllers\UserProfileController::class, 'Store'])->middleware('auth')->name('user.store');

اینم بگم فیلد user_image nullable هست و از پکیج fortify برای لاگین و رجستر استفاده می کنم


ثبت پرسش جدید
حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش مطرح شد
1

سلام
این ایراد احتمالا توی خط 11 تا 13 که create می کنید به وجود میاد، می تونید مقدار name رو هم براش اضافه کنید

$user->create([
            'user_image' => $request->user_image,
            'name' => ''
        ]);

یا اینکه مایگریشن users رو به این شکل تعریف کنید

$table->string('name')->nullable();

بعد php artisan migrate:fresh رو اجرا کنید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام