File: /home/xedaptot/hi.naniguide.com/app/Models/Affiliate.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Affiliate extends Model
{
use HasFactory;
protected $fillable = [
'customer_id',
'code',
'status',
'destination_url',
'commission_rate_percent',
'payout_details',
'approved_at',
'blocked_at',
];
protected function casts(): array
{
return [
'payout_details' => 'array',
'commission_rate_percent' => 'decimal:2',
'approved_at' => 'datetime',
'blocked_at' => 'datetime',
];
}
public function customer(): BelongsTo
{
return $this->belongsTo(Customer::class);
}
public function referrals(): HasMany
{
return $this->hasMany(AffiliateReferral::class);
}
public function commissions(): HasMany
{
return $this->hasMany(AffiliateCommission::class);
}
public function payouts(): HasMany
{
return $this->hasMany(AffiliatePayout::class);
}
}