<?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 Forms extends Model { use HasFactory, CreatedUpdatedBy; protected $primaryKey = 'form_id'; public $timestamps = true; protected $fillable = [ 'title', 'alias', 'cover_photo', 'image_thumb', 'form_fields', 'text', 'headers', 'toemail', 'fromemail', 'emailsubject', 'emailtext', 'autoresponse', 'responseheaders', 'responsefrom', 'responsesubject', 'responsetext', '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 : '', ); } }