sekolah_adiwiyata/app/Models/Kuesioner.php

59 lines
1.5 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
class Kuesioner extends Model
{
use HasFactory;
protected $table = 'kuesioner';
protected $primaryKey = 'KuesionerId';
protected $guarded = [];
protected static function booted()
{
static::addGlobalScope('filterSekolah', function (Builder $builder) {
$role = session('group_alias'); // misal: dinas_pendidikan atau kemenag
if (($role == 'dinas_pendidikan') || ($role == 'penilai_disdik')) {
$builder->whereHas('sekolah', function ($q) {
$q->where('is_kemenag', false);
});
} elseif (($role == 'kemenag') || ($role == 'penilai_kemenag')) {
$builder->whereHas('sekolah', function ($q) {
$q->where('is_kemenag', true);
});
}
});
}
public function sekolah()
{
return $this->belongsTo(\App\Models\Master\Sekolah::class,'ms_sekolah_id');
}
public function profile()
{
return $this->belongsTo(\App\Models\ProfileSekolah::class,'ms_sekolah_id','ms_sekolah_id');
}
public function dokumen()
{
return $this->belongsTo(\App\Models\DokumenAdministrasi::class,'KuesionerId','kuesioner_id');
}
public function kuesionerLog()
{
return $this->hasOne(\App\Models\KuesionerLog::class,'kuesioner_id')->latestOfMany('created_at');
}
}