93 lines
1.9 KiB
PHP
93 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use App\Models\User;
|
|
use App\Models\Kelas;
|
|
use App\Models\TugasSiswa;
|
|
use App\Models\PengumpulanTugas;
|
|
use App\Models\HasilUjian;
|
|
use App\Models\NilaiSikap;
|
|
|
|
class Siswa extends Model
|
|
{
|
|
use HasFactory;
|
|
|
|
protected $table = 'siswa';
|
|
|
|
protected $fillable = [
|
|
'user_id',
|
|
'nisn',
|
|
'nama',
|
|
'kelas_id',
|
|
'jenis_kelamin',
|
|
'alamat',
|
|
'paket_mapel_id',
|
|
'tahun_ajaran_id',
|
|
];
|
|
|
|
// Relasi ke tabel users
|
|
public function user()
|
|
{
|
|
return $this->belongsTo(User::class);
|
|
}
|
|
//thun ajar
|
|
public function tahunAjaran()
|
|
{
|
|
return $this->belongsTo(TahunAjaran::class, 'tahun_ajaran_id');
|
|
}
|
|
// Relasi ke kelas
|
|
public function kelas()
|
|
{
|
|
return $this->belongsTo(Kelas::class);
|
|
}
|
|
// app/Models/Siswa.php
|
|
public function nilaiTotalMapel()
|
|
{
|
|
return $this->hasMany(NilaiTotalMapel::class, 'siswa_id');
|
|
}
|
|
|
|
// Relasi ke hasil ujian
|
|
public function hasilUjian()
|
|
{
|
|
return $this->hasMany(HasilUjian::class, 'siswa_id');
|
|
}
|
|
|
|
// Relasi ke tugas siswa (kalau dipakai)
|
|
public function tugasSiswa()
|
|
{
|
|
return $this->hasMany(TugasSiswa::class, 'siswa_id');
|
|
}
|
|
|
|
// Relasi ke pengumpulan tugas
|
|
public function pengumpulanTugas()
|
|
{
|
|
return $this->hasMany(TugasSiswa::class, 'siswa_id', 'id');
|
|
}
|
|
|
|
// Relasi ke nilai sikap
|
|
public function nilaiSikap()
|
|
{
|
|
return $this->hasOne(NilaiSikap::class, 'siswa_id');
|
|
}
|
|
|
|
public function paketMapel()
|
|
{
|
|
// Asumsikan foreign key di tabel siswa adalah 'paket_mapel_id'
|
|
return $this->belongsTo(PaketMapel::class, 'paket_mapel_id', 'id');
|
|
}
|
|
|
|
|
|
|
|
public function peringkatPaket()
|
|
{
|
|
return $this->hasOne(PeringkatPaketMapel::class);
|
|
}
|
|
public function angket()
|
|
{
|
|
return $this->hasOne(AngketSiswa::class, 'siswa_id', 'id');
|
|
}
|
|
}
|