21 lines
936 B
PHP
21 lines
936 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Models\Concerns\UsesStringIds;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
|
|
|
class LoyaltyAccount extends Model
|
|
{
|
|
use UsesStringIds;
|
|
public const CREATED_AT = 'createdAt'; public const UPDATED_AT = 'updatedAt';
|
|
protected $table = 'LoyaltyAccount';
|
|
protected $fillable = ['customerId', 'loyaltyProgrammeId', 'currentStamps'];
|
|
public function customer(): BelongsTo { return $this->belongsTo(CustomerProfile::class, 'customerId'); }
|
|
public function programme(): BelongsTo { return $this->belongsTo(LoyaltyProgramme::class, 'loyaltyProgrammeId'); }
|
|
public function transactions(): HasMany { return $this->hasMany(LoyaltyTransaction::class, 'loyaltyAccountId'); }
|
|
public function rewards(): HasMany { return $this->hasMany(LoyaltyReward::class, 'loyaltyAccountId'); }
|
|
}
|