⏳۵۰٪ تخفیف فقط تا پایان جشنواره؛ بعدش همهچیز به قیمت قبل برمیگرده!
مشاهده دورههادرود بنده می خوام در پنل شخصی کاربر تصویر پروفایل اضافه کنم که با ارور زیر مواجه میشم.
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 برای لاگین و رجستر استفاده می کنم
سلام
این ایراد احتمالا توی خط 11 تا 13 که create می کنید به وجود میاد، می تونید مقدار name رو هم براش اضافه کنید
$user->create([
'user_image' => $request->user_image,
'name' => ''
]);
یا اینکه مایگریشن users رو به این شکل تعریف کنید
$table->string('name')->nullable();
بعد php artisan migrate:fresh رو اجرا کنید.
شاید پاسخ شما همینجا باشد