Files
onboard/app/Models/Department.php
2026-03-25 17:37:32 +09:00

56 lines
1.4 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Carbon;
class Department extends Model
{
public $timestamps = false;
protected $primaryKey = 'department_id';
protected $fillable = [
'name_full',
'name_short',
'rf_mis_department_id',
'rf_department_type'
];
public function metrikaDefault()
{
return $this->hasMany(DepartmentMetrikaDefault::class, 'rf_department_id', 'department_id');
}
public function observationPatients(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(ObservationPatient::class, 'rf_department_id', 'department_id');
}
public function reports(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(Report::class, 'rf_department_id', 'department_id');
}
public function departmentType()
{
return $this->belongsTo(DepartmentType::class, 'rf_department_type', 'department_type_id');
}
public function userDepartment()
{
return $this->belongsTo(UserDepartment::class, 'rf_department_id', 'department_id');
}
public function recipientPlanOfYear()
{
$now = Carbon::now();
return $this->metrikaDefault()
->where('date_end', '>', $now)
->where('rf_metrika_item_id', 23)
->first();
}
}