<?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 Settings extends Model { use HasFactory, CreatedUpdatedBy; protected $primaryKey = 'setting_id'; public $timestamps = true; protected $fillable = [ 'title', 'description', 'url1', 'url2', 'email', 'location', 'phone', 'secondary_phone', 'google_map', 'fb', 'insta', 'twitter', 'tiktok', 'youtube', 'working_days', 'working_hours', 'leave_days', 'primary_logo', 'secondary_logo', 'thumb', 'icon', 'og_image', 'no_image', 'copyright_text', 'content1', 'content2', 'content3', 'seo_title', 'seo_description', 'seo_keywords', 'og_tags', 'display_order', 'status', 'created_at', 'updated_at', 'createdby', 'updatedby', 'recaptcha_secret_key', 'recaptcha_site_key' ]; 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 : '', ); } }