مجید
3 سال پیش توسط مجید مطرح شد
1 پاسخ

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

سلام من از دستور زیر استفاده می کنم برای اینکه جدول 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();
        });
    }

ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 3 سال پیش مطرح شد
0

روابط 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();
}

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

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