• 1399/10/11

foreign key :

استاد سلام من جلسه 36 هستم و دارم foreign key رو تعريف ميكنم migrate ميگيرم هيچ خطايي ندارم وجداول ساخته ميشه و حتي كليد نقره اي كنار user_id مياد كه ايندكس هست ولي relation view  در ديتابيس نشون داده نميشه وهمچنين در disiner mysql هم رابطه و اون فلش نمياد

تمام موارد هم رعايت كردم در migration 

  • 1399/10/11
  • ساعت 10:14

با سلام خدمت شما همراه عزیز

 

وقتی کلید نقره ای میاد و خطایی هم ندارید اوکیه


  • 1399/10/11
  • ساعت 10:17

مشكل همينه كه كليد هست ولي الان براي جدول پست از فكتوري استفاده كردم وuser idهم به همون روش دادم ولي عuser id پر ميشه و idهاش هم درسته ولي لينك نداره

 


  • 1399/10/11
  • ساعت 10:19

اونم مهم نیست

 

وقتی روابط رو در لاراول تعریف کنید لاراول میتونه متوجه بشه و اصلا اون بخش در دیتابیس اهمیتی نداره

 

 

 

میتونید خودتون دستی از بخش relation بسازید اون‌رابطه رو


  • 1399/10/11
  • ساعت 10:19

  • 1399/10/11
  • ساعت 10:22

البته‌ بهتره سرچ کنید و کاری کنید که رابطه درست بشه در دیتابیس ولی میگم اهمیتی نداره زیاد و در کارکرد فرقی نداره فقط بحث استاندارد بودن هست


  • 1399/10/11
  • ساعت 23:22

استاد سلام اين مشكل رو حل كردم از داخل خود phpmyadmin مشكلي كه الان هست وقتي روي user_id  در جدول post با موس نگه ميدارم به جاي اينكه اسم رو نشون بده ايميل يوزر را نشون ميده و كليك كه ميكنم مشكلي نيست ووارد همون يوزر ميشه ولي چرا داره ايميل نشون ميده نميدونم


  • 1399/10/11
  • ساعت 23:48

سلام

 

حتما کلیدی که انتخاب کردید ایمیل هست


  • 1399/10/12
  • ساعت 00:11

نه استاد کلید همون ای دی جدول یوزر هست و در یوزر ای دی جدول پست ای دی یوزر میاد ولی وقتی روش نگه میدارم ایمیلشو نشون میده


  • 1399/10/12
  • ساعت 00:17

       Schema::create('posts'function (Blueprint $table) {

            $table->bigIncrements('id')->unsigned();

            $table->bigInteger('user_id')->unsigned()->index();

            $table->string('title');

            $table->timestamp('started_at');

            $table->timestamps();


 

            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

        });


  • 1399/10/12
  • ساعت 01:11

جدول یوزر رو هم بذارید


  • 1399/10/12
  • ساعت 10:20

استاد سلام اين هم جدول يوزر خدمت شما

Schema::create('users'function (Blueprint $table) {

            $table->bigIncrements('id')->unsigned();

            $table->string('name');

            $table->string('email')->unique();

            $table->timestamp('email_verified_at')->nullable();

            $table->string('password');

            $table->rememberToken();

            $table->timestamps();

        });


  • 1399/10/12
  • ساعت 12:59

چون فیلد ایمیل یونیک هست


  • 1399/10/12
  • ساعت 13:07

خوب اگر ایمیل یونیک نزاریم برای ثبت ایمیل تکراری چکار باید بکنیم 


  • 1399/10/12
  • ساعت 13:08

اونو‌که یونیک بذارید

 

 

ولی خب حالا موسو ببرید ایمیل رو نشون بده چه اشکالی داره؟ اوکه اصلا مهم نیست


logo-enamadlogo-samandehi