*/ use HasFactory; /** * @var array */ protected $attributes = [ 'plan' => 'free', 'status' => 'active', 'cancel_at_period_end' => false, ]; /** * @return array */ protected function casts(): array { return [ 'plan' => SubscriptionPlan::class, 'status' => SubscriptionStatus::class, 'current_period_starts_at' => 'date', 'current_period_ends_at' => 'date', 'grace_ends_at' => 'date', 'cancel_at_period_end' => 'boolean', ]; } /** * @return BelongsTo */ public function user(): BelongsTo { return $this->belongsTo(User::class); } /** * @return HasMany */ public function invoices(): HasMany { return $this->hasMany(SubscriptionInvoice::class); } }