درود بنده می خوام در پنل شخصی کاربر تصویر پروفایل اضافه کنم که با ارور زیر مواجه میشم.
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 رو اجرا کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟