Anons79 Mini Shell

Directory : /home/aplikasiposinfo/public_html/e-tepian.aplikasipos.info/app/Models/Duplikasi/
Upload File :
Current File : /home/aplikasiposinfo/public_html/e-tepian.aplikasipos.info/app/Models/Duplikasi/DupProgram.php

<?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]