<?php
namespace App\Models\Duplikasi;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Models\Opd;
use DB;
class DupProgram extends Model
{
use HasFactory;
protected $table = 'dup_programs';
protected $fillable = ['kode','nama_program','tahun','opd_id'];
public function kegiatan(){
return $this->hasMany(DupKegiatan::class,'program_id');
}
public function opd(){
return $this->belongsTo(Opd::class,'opd_id');
}
public function getAnggaranAttribute(){
$query1 = DB::table('dup_kegiatans')->select('id')->where('program_id','=',$this->id)->pluck('id')->toArray();
$query2 = DB::table('dup_sub_kegiatans')->select('id')->whereIn('kegiatan_id',$query1)->pluck('id')->toArray();
$query3 = DB::table('dup_rincian_kegiatans')->whereIn('sub_kegiatan_id',$query2)
->join('dup_sub_kegiatans','dup_rincian_kegiatans.sub_kegiatan_id','=','dup_sub_kegiatans.id')
->join('dup_items','dup_rincian_kegiatans.id','=','dup_items.rincian_kegiatan_id')->sum('pagu');
return $query3;
}
public function scopeFilter($query,$request){
if ($request->opd_id) {
$query->where('opd_id',$request->opd_id);
}
if ($request->tahun) {
$query->where('tahun',$request->tahun);
}
return $query;
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]