Ahmed Ebrahim11 نشر 1 ديسمبر أرسل تقرير نشر 1 ديسمبر السللام عليكم يظهر معي هذا الخطا بشكل مستمر my-react-app2.zip 3 اقتباس
0 محمد عاطف17 نشر 1 ديسمبر أرسل تقرير نشر 1 ديسمبر وعليكم السلام ورحمة الله وبركاته. أولا المشكلة الأساسية في قاعدة البيانات حيث لاحظ أن في جدول users العمودين google_token و google_id ليس لهم قيمة إفتراضية وبما أنك تقوم بتسجيل مستخدم جديد دون إعطاء قيم لتلك الأعمدة تحدث لك مشكلة . والحل إما إنشاء ملف migration جدبد وجعل هذا الحقل nullable أو وضع قيمة إفتراضية له ولكن ستحتاج إلى تثبيت حزمة doctrine/dbal عن طريق الأمر : composer require doctrine/dbal بعد ذلك يمكنك كتابة الكود التالي في ملف ال migration ومن ثم تنفيذ أمر التهجير : $table->string('google_id')->nullable()->change(); $table->string('google_token')->nullable()->change(); والحل الثاني هو أثناء إنشاء المستخدم نضع الحقلين ب null . أى في ملف back-end\app\Http\Controllers\AuthController.php بعد سطر 25 نضع الحقلين ب null كالتالي : $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), "google_token"=>null, "google_id"=>null ]); بعد ذلك إذا لم تكن قد أنشأت access cleint لحزمة passport يمكنك تنفيذ الأمر التالي : php artisan passport:client --personal والآن سيعمل معك وسيتم إنشاء المستخدم ولكن تأكد من عدم كتابة بريد موجود بالفعل في قاعدة البيانات. اقتباس
0 Mustafa Suleiman نشر 1 ديسمبر أرسل تقرير نشر 1 ديسمبر أنت تستخدم واجهة خلفية غير متناسبة مع الواجهة الأمامية حيث يظهر خطأ SQLSTATE[HY000]: General error: 1364 Field 'google_id' doesn't have a default value (SQL: insert into users (name, email, password, updated_at, created_at) وبالعودة للمتحكم الخاصة بتسجيل حساب جديد في الواجهة الخلفية نجد: $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password) ]); وبالعودة لقاعدة البيانات في جدول users نجد: Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password')->nullable(); $table->string('google_id'); $table->string('google_token'); $table->rememberToken(); $table->timestamps(); }); بالتالي الحقلين: $table->string('google_id'); $table->string('google_token'); ليس لهم أي قيمة يتم تقديمها، وحتى لم يتم وضع لهم قيمة إفتراضية في حال لم تقدم قيمة من الواجهة الأمامية، لذا عليك القيام بأي حل تراه مناسب. اقتباس
السؤال
Ahmed Ebrahim11
السللام عليكم يظهر معي هذا الخطا بشكل مستمر
my-react-app2.zip
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.