MIF_E31221225/app/Models/Tugas.php

47 lines
1.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Tugas extends Model
{
use HasFactory;
protected $table = 'tugas';
protected $fillable = [
'materi_id',
'judul',
'deskripsi',
'file',
'deadline', // walau ini nullable dan biasanya null karena deadline per kelas
];
public function tugasKelas(): HasMany
{
return $this->hasMany(\App\Models\TugasKelas::class);
}
// Relasi ke Materi
public function materi()
{
return $this->belongsTo(Materi::class, 'materi_id');
}
// Relasi many-to-many ke Kelas lewat pivot tugas_kelas
public function kelas()
{
return $this->belongsToMany(Kelas::class, 'tugas_kelas')
->withPivot('deadline')
->withTimestamps();
}
// Relasi ke jawaban siswa (pengumpulan tugas)
public function pengumpulan()
{
return $this->hasMany(TugasSiswa::class, 'tugas_id');
}
}