<?php
        namespace App\Models;

        use App\Models\User;
        use Illuminate\Database\Eloquent\Casts\Attribute;
        use Illuminate\Database\Eloquent\Factories\HasFactory;
        use Illuminate\Database\Eloquent\Model;
        use App\Traits\CreatedUpdatedBy;

        class Jobdemands extends Model
        {
            use HasFactory, CreatedUpdatedBy;
          
            protected $primaryKey = 'job_id';
            public $timestamps = true;
            protected $fillable =[
                'title',
'alias',
'countries_id',
'companies_id',
'salary',
'required_nos',
'contract_period',
'duty_hrs',
'working_days',
'overtime',
'food_allowance',
'transport_allowance',
'accomodation_allowance',
'medical_provided',
'insurance_provided',
'required_documents',
'qualification',
'experience',
'details',
'image',
'thumb',
'cover',
'remarks',
'postedon',
'display_order',
'status',
'created_at',
'updated_at',
'createdby',
'updatedby',

            ];

            protected $appends = ['status_name'];

            protected function getStatusNameAttribute()
            {
                return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
            }

    protected function createdBy(): Attribute
    {
        return Attribute::make(
            get: fn ($value) =>  User::find($value) ? User::find($value)->name : '',
        );
    }

    protected function updatedBy(): Attribute
    {
        return Attribute::make(
            get: fn ($value) => User::find($value) ? User::find($value)->name : '',
        );
    }
        }