HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1014-azure #14~24.04.1-Ubuntu SMP Fri Oct 3 20:52:11 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /mnt/data/ghayatcom/ghayatcom-api/app/Payment.php
<?php

namespace App;

use App\Appointment;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Carbon;

/**
 * App\Payment
 *
 * @property mixed $consultation_type
 * @property mixed $sick_leave_verification
 * @property mixed $payment_status
 */
class Payment extends Model
{
    use SoftDeletes;

    protected $hidden = ['created_by','updated_by','deleted_by','deleted_at','updated_at'];

    protected $appends = ['payment_status_str'];

    public function getPaymentStatusStrAttribute() {
        return $this->payment_status == 0 ? 'Blocked' : ($this->payment_status == 1 ? 'Paid' : ($this->payment_status == 2 ? 'Failed' : ($this->payment_status == 3 ? 'Refund requested' : ($this->payment_status == 4 ? 'Refunded' : ($this->payment_status == 5 ? 'Refund rejected':'')))));
    }
    public function appointment(): HasMany 
    {
        return $this->hasMany(Appointment::class, 'id', 'appointment_id');
    }

    public function patient(): BelongsTo
    {
        return $this->belongsTo(User::class, 'patient_id', 'id');
    }

    public function family_member(): BelongsTo
    {
        return $this->belongsTo(FamilyMembers::class, 'family_member_id', 'id');
    }

    public function doctor(): BelongsTo
    {
        return $this->belongsTo(User::class, 'doctor_id', 'id');
    }
}