/
home
/
corsairdevelopme
/
public_html
/
amplivo-console
/
app
/
Models
/
Upload File
HOME
<?php namespace App\Models; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Model; class GiftCode extends Model { protected $fillable = [ 'user_id', 'purchase_id', 'gift_code', 'description', 'redeem_by', 'status', 'expire_date', 'redeemed_date', 'reference_no', 'principal_kgs', 'bonus_kgs', 'discount_kgs', 'transferred_user_id' ]; const statusName = [ 1 => "Pending", 2 => "Redeemed", 3 => "Expired", 4 => "Rejected", 5 => "Canceled" ]; public function statusName(): Attribute { return Attribute::make( function ($value) { return self::statusName[$this->attributes['status']] ?? "-"; } ); } public function purchaseProduct() { return $this->belongsTo(Purchase::class, 'purchase_id'); } public function redeemedBy() { return $this->belongsTo(User::class, 'redeem_by')->with('details'); } public function user() { return $this->belongsTo(User::class, 'user_id')->with('details'); } public function transferredUser() { return $this->belongsTo(User::class, 'transferred_user_id')->with('details'); } }