Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/e-tepian.aplikasipos.info/app/Models/
Upload File :
Current File : /home/aplikasiposinfo/www/e-tepian.aplikasipos.info/app/Models/RincianBidang.php

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class RincianBidang extends Model
{
    use HasFactory;
    use \Staudenmeir\EloquentHasManyDeep\HasRelationships;
    use \Znck\Eloquent\Traits\BelongsToThrough;

    protected $guarded = [];

    public function RincianSubBidang()
    {
        return $this->hasMany(RincianSubBidang::class);
    }

    public function subrincianSubBidang()
    {
        return $this->belongsTo(RincianSubBidang::class, 'rincian_sub_bidang_id');
    }

    public function RincianKegiatan(){
        return $this->hasManyThrough(RincianKegiatan::class, RincianSubBidang::class);
    }

    public function RealisasiRincianKegiatan(){
        return $this->hasManyDeep(RealisasiRincianKegiatan::class, [RincianSubBidang::class, RincianKegiatan::class]);
    }

    public function RealisasiFisik(){
        return $this->hasManyDeep(RealisasiFisik::class, [RincianSubBidang::class, RincianKegiatan::class, RealisasiRincianKegiatan::class]);
    }

    public function RealisasiKeuangan(){
        return $this->hasManyDeep(RealisasiKeuangan::class, [RincianSubBidang::class, RincianKegiatan::class, RealisasiRincianKegiatan::class]);
    }

    public function getPercentFisikAttribute(){
        // return ($this->RincianKegiatan->map(function($item,$key){
        //     if($item->volume > 0){
        //         return ($item->pagu * ($item->fisik/($item->volume))*100);
        //     }else{
        //         return 0;
        //     }
        // })->sum());

        // return ($this->RincianSubBidang->map(function($item,$key){
        //     return ($item->PercentFisik);
        // })->sum());
        // Ensure it uses the full collection of RincianSubBidang, even if the main query was limited
        return $this->RincianSubBidang->map(function($item){
            return $item->PercentFisik; // Assuming PercentFisik is a valid attribute for RincianSubBidang
        })->sum();
    }

}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]