'sent', 2 => 'failed', 3 => 'pending']; protected function status(): \Illuminate\Database\Eloquent\Casts\Attribute { return \Illuminate\Database\Eloquent\Casts\Attribute::make( get: fn ($value) => self::STATUS_MAP[$value] ?? self::STATUS_MAP[1], set: fn ($value) => is_string($value) ? (array_search($value, self::STATUS_MAP, true) ?: 1) : $value, ); } public function campaign() { return $this->belongsTo(MailCampaign::class, 'campaign_id'); } public function customer() { return $this->belongsTo(Customer::class, 'customer_id'); } public function sender() { return $this->belongsTo(User::class, 'sent_by'); } public function template() { return $this->belongsTo(Template::class, 'template_id'); } }