<?php
namespace Modules\Coupons\Entities;
use App\User;
use App\Traits\Tenantable;
use Modules\Payment\Entities\Checkout;
use Illuminate\Database\Eloquent\Model;
use Modules\Subscription\Entities\SubscriptionCheckout;
class Coupon extends Model
{
use Tenantable;
protected $guarded = ['id', 'created_at'];
protected $dates = [
'end_date',
'start_date',
];
public function user()
{
return $this->belongsTo(User::class, 'user_id')->withDefault();
}
public function coupon_user()
{
return $this->belongsTo(User::class, 'coupon_user_id')->withDefault();
}
public function totalUsed()
{
return $this->hasMany(Checkout::class, 'coupon_id');
}
public function loginUserTotalUsed()
{
return $this->hasMany(Checkout::class, 'coupon_id')->where('user_id', auth()->id())->count();
}
public function loginUserTotalSubscriptionUsed()
{
return $this->hasMany(SubscriptionCheckout::class, 'coupon_id')->where('user_id', auth()->id())->count();
}
}