Hanan Fahad2 نشر 6 فبراير 2022 أرسل تقرير نشر 6 فبراير 2022 (معدل) Schema::create('blogs', function (Blueprint $table) { $table->increments('id'); $table->string("title"); $table->text('body'); // $table->unsignedinteger("user_id"); $table->foreign('user_id') ->references('id') ->on('users') ->delete('cascade'); $table->timestamps(); }); Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); سويت العلاقه ويقول خطا تم التعديل في 6 فبراير 2022 بواسطة Hassan Hedr توضيح العنوان اقتباس
0 Hassan Hedr نشر 6 فبراير 2022 أرسل تقرير نشر 6 فبراير 2022 بما أنك عينت الحقل user_id كمفتاح للربط مع الجدول users يجب أن يتواجد هذا الحقل ضمن الجدول blogs، قم بإزالة التعليق من سطر تعريف هذا الحقل وتغيير نوعه إلى unsignedBigInteger // $table->unsignedinteger("user_id"); ^^ $table->unsignedBigInteger("user_id"); ^^^^^^^^^^^^^^^^^^ ثم أعد تنفيذ عملية التهجير في حال كانت لا يوجد بيانات في قاعدة البيانات لديك كالتالي php artisan migrate:fresh اقتباس
0 سمير عبود نشر 6 فبراير 2022 أرسل تقرير نشر 6 فبراير 2022 يجب تواجد الحقل user_id قبل إعتماده كمفتاح أجنبي، لذلك يظهر لديك خطأ أن الحقل user_id غير موجود. ويجب عند إضافة المفتاح الأجنبي أن يكون الحقلين من نفس النوع حيث أن id في جدول users عبارة عن unsignedBigInteger لذلك يجب أن يكون أيضاً الحقل user_id نوعه unsignedBigInteger $table->unsignedBigInteger('user_id'); $table->foreign('user_id')->references('id')->on('users'); نُعرف الحقل ثم نٌعينه كمفتاح ثانوي. في النُسخ الحديثة بالإمكان إختصار السطرين أعلاه إلى سطر واحد: $table->foreignId('user_id')->constrained(); أو: $table->foreignId('user_id')->constrained('users'); بحيث نُمرر إسم الجدول للتابع constrained إذا لم نتبع الأعراف في التسميات. بالإمكان إستخدام التوابع cascadeOnUpdate أو cascadeOnDelete و غيرها: $table->foreignId('user_id') ->constrained() ->cascadeOnDelete(); 1 اقتباس
0 Hanan Fahad2 نشر 7 فبراير 2022 الكاتب أرسل تقرير نشر 7 فبراير 2022 Schema::create('categories', function (Blueprint $table) { $table->id(); $table->string('name'); $table->foreignId('blogs_id')->constrained('blogs'); $table->timestamps(); }); Schema::create('blogs', function (Blueprint $table) { $table->increments('id'); $table->string("title"); $table->text('body'); $table->foreignId('user_id')->constrained(); $table->timestamps(); }); } يطلع لي خطا برمجي عيا يهجر الجدول اقتباس
0 Hassan Hedr نشر 7 فبراير 2022 أرسل تقرير نشر 7 فبراير 2022 بتاريخ 7 ساعات قال hanan fahad11: Schema::create('categories', function (Blueprint $table) { $table->id(); $table->string('name'); $table->foreignId('blogs_id')->constrained('blogs'); $table->timestamps(); }); Schema::create('blogs', function (Blueprint $table) { $table->increments('id'); $table->string("title"); $table->text('body'); $table->foreignId('user_id')->constrained(); $table->timestamps(); }); } يطلع لي خطا برمجي عيا يهجر الجدول هل يمكنك إرفاق الخطأ الذي يظهر كي نتمكن من مساعدتك اقتباس
السؤال
Hanan Fahad2
Schema::create('blogs', function (Blueprint $table) { $table->increments('id'); $table->string("title"); $table->text('body'); // $table->unsignedinteger("user_id"); $table->foreign('user_id') ->references('id') ->on('users') ->delete('cascade'); $table->timestamps(); }); Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); });
سويت العلاقه ويقول خطا
توضيح العنوان
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.