سلام ، بنده دارم api یک اپ موبایل رو می نویسم ، تجربه اولم هستش
این اپ به این شکل هست که یک سری کلاس درسی وجود داره و یک سری یوزر
این یوزر ها میتونن توی هر کلاس درسی که دوست داشتن عضو بشن ! یعنی یک جدول واسط وجود داره
مایگریشن جدول user :
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name')->nullable();
$table->string('email')->unique()->nullable();
$table->string('phone')->unique()->nullable();
$table->string('api_token')->unique();
$table->string('studentNum')->nullable();
$table->string('imageUrl')->nullable();
$table->timestamp('email_verified_at')->nullable();
$table->string('password')->nullable();
$table->rememberToken();
$table->timestamps();
});
مایگریشن جدول classroom (یوزر آی دی که اینجا هست برای مشخص کردن ادمین کلاس هست و مشکلی توی پیاده سازیش ندارم) :
Schema::create('classrooms', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('className');
$table->string('uniName');
$table->string('description')->nullable();
$table->time('term')->nullable();
$table->string('security')->default('public');
$table->string('classLink')->nullable();
$table->bigInteger('user_id')->unsigned();
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
$table->timestamps();
});
و مایگیریشن جدول واسط :
Schema::create('classusers', function (Blueprint $table) {
$table->bigInteger('class_id')->unsigned();
$table->foreign('class_id')
->references('id')->on('classrooms')
->onDelete('cascade');
$table->bigInteger('user_id')->unsigned();
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
$table->primary(['class_id' , 'user_id']);
$table->string('userType')->default('user');
});
اول می خواستم با pivot کار کنم توی روابط یکم سردرگم شدم ، بعد اومدم یک مدل برای جدول واسط ایجاد کردم ولی بازم نمیتونم هندلش کنم
امکانش هست روابطشو برام بگین و چطور عضو شدن رو پیاده سازی کنم ؟
به pivot Table در گفتگوی زیر پرداخته شده:
https://roocket.ir/discuss/4097
پیوِت تیبل یا جدول واسط در واقع جدولیه که ارتباط بین ۲ جدول دیگه رو برقرار میکنه.
همچنین مقاله زیر به کاملی این مبحث رو توضیح داده
https://laraveldaily.com/pivot-tables-and-many-to-many-relationships/
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟