40 lines
764 B
PHP
40 lines
764 B
PHP
<?php
|
|||
|
|
|
||
|
|
namespace App\Models;
|
||
|
|
|
||
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||
|
|
use Illuminate\Database\Eloquent\Model;
|
||
|
|
|
||
|
|
class UserSubscription extends Model
|
||
|
|
{
|
||
|
|
use HasFactory;
|
||
|
|
|
||
|
|
protected $fillable = [
|
||
|
|
'user_id',
|
||
|
|
'subscription_id',
|
||
|
|
'started_at',
|
||
|
|
'expires_at',
|
||
|
|
'status',
|
||
|
|
'payment_id'
|
||
|
|
];
|
||
|
|
|
||
|
|
protected $casts = [
|
||
|
|
'started_at' => 'datetime',
|
||
|
|
'expires_at' => 'datetime'
|
||
|
|
];
|
||
|
|
|
||
|
|
public function user()
|
||
|
|
{
|
||
|
|
return $this->belongsTo(User::class);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function subscription()
|
||
|
|
{
|
||
|
|
return $this->belongsTo(Subscription::class);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function isActive()
|
||
|
|
{
|
||
|
|
return $this->status === 'active' && $this->expires_at->isFuture();
|
||
|
|
}
|
||
|
|
}
|