Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/demo-catatan-keuangan.aplikasipos.info/app/Models/
Upload File :
Current File : /home/aplikasiposinfo/www/demo-catatan-keuangan.aplikasipos.info/app/Models/SuratHasTtd.php

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Models\Spatie\Roles;

class SuratHasTtd extends Model
{
    use HasFactory;

    protected $fillable = ['status','user_id','surat_id','role_id','label'];

    public function user(){
        return $this->belongsTo(User::class,'user_id');
    }

    public function surat(){
        return $this->belongsTo(SuratPermintaan::class,'surat_id');
    }

    public function roles(){
        return $this->belongsTo(Roles::class,'role_id');
    }

    public function getJabatanAttribute(){

        $self = $this;
        return $this->user->myRole->map(function($item,$key)use($self){
            if ($item->role_id == $self->role_id) {
                if ($item->userHasDivisi()->exists()) {
                    if ($self->surat->divisi_id == $item->userHasDivisi->divisi_id) {
                        return $item->userHasDivisi->jabatan;
                    }elseif($self->surat->divisi->perusahaan_id == $item->userHasDivisi->divisi->perusahaan_id){
                        return $item->userHasDivisi->jabatan;
                    }
                }
                if ($item->userHasPerusahaan()->exists()) {
                    if ($item->userHasPerusahaan->perusahaan_id == $self->surat->divisi->perusahaan->id) {
                        return $item->userHasPerusahaan->jabatan;
                    }
                }
            }
        })->filter()->values()->first();
    }
}

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