راکت
حل شده

پر کردن ستون createdat در رابطه Many to Many

1 پاسخ

سلام من از دستور زیر استفاده می کنم برای اینکه جدول courseuser پر بشه
اما وقتی رکوردی داخل این جدول اضافه میشه ستون های createdat و updatedat خالی هستند!
چیکار کنم این دوتا ستون null نباشند؟

نحوه اضافه کردن دانشجو به درس

  public function addStudentToCourse($course, $studentId)
    {
            $course->students()->attach($studentId);

   }

مدل Course

 public function students()
    {
        return $this->belongsToMany(User::class, 'course_user', 'course_id', 'user_id');
    }

مدل User

   public function course()
    {
        return $this->belongsToMany(Course::class,'course_user');
    }

جدول courseuser

    public function up()
    {
        Schema::create('course_user', function (Blueprint $table) {
            $table->foreignId('user_id');
            $table->foreignId('course_id');
            $table->primary(['user_id', 'course_id']);
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->foreign('course_id')->references('id')->on('courses')->onDelete('cascade');
            $table->timestamps();
        });
    }
مجید
مجید
@MajidDeveloper
ثبت پرسش جدید

پاسخ‌ها

1
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

بهترین پاسخ

روابط Many to May به شکل پیش فرض تایم استمپ ندارند
اگر میخواهی ازشون استفاده کنی باید به انتهای اون Relationship یه متد رو اضافه کنی:

 public function students()
{
    return $this->belongsToMany(User::class, 'course_user', 'course_id', 'user_id')->withTimestamps();
}

و


   public function course()
{
    return $this->belongsToMany(Course::class,'course_user')->withTimestamps();
}

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام