Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/warga-saya.aplikasipos.info/app/Models/
Upload File :
Current File : /home/aplikasiposinfo/www/warga-saya.aplikasipos.info/app/Models/Civilian.php

<?php

namespace App\Models;

use App\Models\Category;
use App\Models\Liability;
use App\Models\CivilianJob;
use Illuminate\Database\Eloquent\Model;
use App\Models\CivilianPivotSubscription;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;

class Civilian extends Model
{
    use HasFactory;
    protected $table = 'civilians';
    protected $fillable = [
        'full_name',
        'age',
        'gender',
        'born_place',
        'born_date',
        'nik',
        'home_address',
        'married_status',
        'phone_number',
    ];

    public function categories(): BelongsToMany
    {
        return $this->belongsToMany(Category::class, 'civilian_pivot_categories', 'civilian_id', 'category_id');
    }

    public function category()
    {
        return $this->belongsTo(Category::class);
    }

    public function civilian_pivot_jobs(): HasMany
    {
        return $this->hasMany(CivilianPivotJob::class);
    }

    public function civilian_jobs(): BelongsToMany
    {
        return $this->belongsToMany(CivilianJob::class, 'civilian_pivot_jobs')
            ->withPivot('accepted_date', 'retirement_date');
    }

    public function civilian_pivot_subscriptions(): HasMany
    {
        return $this->hasMany(CivilianPivotSubscription::class);
    }

    public function pivotCategories()
    {
        return $this->hasMany(CivilianPivotCategory::class, 'civilian_id');
    }

    public function subscriptions(): BelongsToMany
    {
        return $this->belongsToMany(Subscription::class, 'civilian_pivot_subscriptions')
            ->withPivot('temp_amount');
    }

    public function liabilities(): HasMany
    {
        return $this->hasMany(Liability::class);
    }

    public function liability(){
        return $this->belongsTo(Liability::class);
    }

    public function activities(): BelongsToMany
    {
        return $this->belongsToMany(
            Activity::class, 
            'civilian_pivot_activities',
            'civilian_id',
            'activity_id')
            ->using(CivilianPivotActivity::class)
            ->withPivot('progress')
            ->withTimestamps();
    }
}

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