🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ حامد
یونیک ساختن دو column مرتبط با یکدیگر
جامعه لاراول ایجاد شده در ۲۵ دی ۱۴۰۱

سلام

جدولی دارم با این ساختار:

bd37-iShot_1401-10-25_10.25.31 PM.png

ولی سطری رو که دورش قرمز کردم داپلیکیت هست.

چطوری میتونم این دو تا ستون رو مرتبط با همدیگه یونیک تعریف کنم؟

یعنی منظورم اینه که، برای مثال یوزر آیدی ۸ میتونه وجود چندین بار وجود داشته باشه، ولی رکوردی با یوزر آیدی ۸ و کورس آی‌دی ۵ فقط یکبار بتونه درج بشه.

Schema::create('course_registrations', function (Blueprint $table) {
    $table->foreignId('user_id')->unique('course_id')->constrained();
    $table->foreignId('course_id')->unique('user_id')->constrained();
    $table->integer('purchased_price');
    $table->dateTime('registered_at');
});

از این روش استفاده کردم ولی کارساز نیست و ارور میده.

با این روش حل شد

Schema::create('course_registrations', function (Blueprint $table) {
    $table->foreignId('user_id')->constrained();
    $table->foreignId('course_id')->constrained();
    $table->unique(['user_id', 'course_id']);
    $table->integer('purchased_price');
    $table->dateTime('registered_at');
});
حامد ۲۵ دی ۱۴۰۱، ۱۹:۰۸

حامد عزیز

در صورت حل مشکل به وضعیت حل شده تغییر دهید تا از پیگیری خارج شود.

احمدرضا فاطمی کیا ۲۶ دی ۱۴۰۱، ۰۵:۲۹