Files
2026-05-26 16:32:25 +07:00

56 lines
1.4 KiB
PHP

<?php
namespace App\Models\Wilayah;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use App\Models\Wilayah\Kecamatan;
use App\Models\Pertanian\Lahan;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Builder;
class DesaKelurahan extends Model
{
use SoftDeletes;
protected $table = 'master_desa_kelurahan';
protected $fillable = [
'kode',
'nama',
'path',
'kecamatan_id',
];
public function kecamatan() {
return $this->belongsTo(Kecamatan::class, 'kecamatan_id');
}
public function lahan()
{
return $this->hasMany(Lahan::class, 'desa_kelurahan_id');
}
protected static function booted()
{
static::addGlobalScope('program', function (Builder $builder) {
if (!app()->has('SystemProgram')) {
return;
}
$programId = app('SystemProgram')->id;
$builder->where(function ($query) use ($programId) {
$query->whereIn('id', function ($q) use ($programId) {
$q->select('desa_kelurahan_id')
->from('core_program_lokasi')
->where('program_id', $programId)
->whereNotNull('desa_kelurahan_id');
});
});
});
}
}