Files
BetiX/app/Models/Bonus.php
Dolo 0280278978
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
Initialer Laravel Commit für BetiX
2026-04-04 18:01:50 +02:00

52 lines
1.3 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Bonus extends Model
{
use HasFactory, SoftDeletes;
protected $fillable = [
'title',
'type',
'amount_value',
'amount_unit',
'min_deposit',
'max_amount',
'currency',
'code',
'status',
'starts_at',
'expires_at',
'rules',
'description',
'created_by',
];
protected $casts = [
'amount_value' => 'decimal:8',
'min_deposit' => 'decimal:8',
'max_amount' => 'decimal:8',
'starts_at' => 'datetime',
'expires_at' => 'datetime',
'rules' => 'array',
];
public function scopeActive($query)
{
$now = now();
return $query->where('status', 'active')
->when($now, function ($q) use ($now) {
$q->where(function ($qq) use ($now) {
$qq->whereNull('starts_at')->orWhere('starts_at', '<=', $now);
})->where(function ($qq) use ($now) {
$qq->whereNull('expires_at')->orWhere('expires_at', '>=', $now);
});
});
}
}