hasManyThrough( \App\Models\Ujian::class, // model tujuan \App\Models\KelasMapel::class, // model perantara 'kelas_id', // Foreign key di KelasMapel mengarah ke Kelas 'mapel_id', // Foreign key di Ujian mengarah ke Mapel 'id', // Local key di Kelas 'mapel_id' // Local key di KelasMapel yang cocok dengan mapel_id di Ujian ); } public function tahunAjaran() { return $this->belongsTo(TahunAjaran::class, 'tahun_ajaran_id'); } public function mapel() { return $this->belongsToMany(Mapel::class, 'kelas_mapel'); } public function tugas() { return $this->belongsToMany(Tugas::class, 'tugas_kelas') ->withPivot('deadline') ->withTimestamps(); } public function materi() { return $this->belongsToMany(Materi::class, 'kelas_materi', 'kelas_id', 'materi_id') ->withPivot('tanggal_terbit') ->withTimestamps(); } public function siswa() { return $this->hasMany(Siswa::class, 'kelas_id', 'id'); } }