Your IP : 216.73.216.79


Current Path : /var/www/html/dynaweb-cms-v1/app/Models/Backend/
Upload File :
Current File : /var/www/html/dynaweb-cms-v1/app/Models/Backend/ContentFeedbackMessage.php

<?php

namespace App\Models\Backend;

use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Attributes\Table;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;

#[Table('content_feedback_messages')]
#[Fillable([
    'feedback_id',
    'message',
    'read_status',
    'send_to',
    'created_user_type',
    'created_at',
    'created_by',
])]
class ContentFeedbackMessage extends Model
{
    use HasFactory;

    public $timestamps = false;

    protected function casts(): array
    {
        return [
            'created_at' => 'datetime',
        ];
    }

    public function feedback(): BelongsTo
    {
        return $this->belongsTo(ContentFeedbackMain::class, 'feedback_id', 'id');
    }

    public function sender(): BelongsTo
    {
        return $this->belongsTo(BackendUser::class, 'created_by');
    }

    public function getSenderLabelAttribute(): string
    {
        $name = $this->sender ? trim($this->sender->first_name . ' ' . $this->sender->last_name) : null;
        $role = $this->sender?->roles->first()?->name;

        return $name && $role ? "$name ($role)" : ($name ?: 'Admin');
    }
}