| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- namespace App\Models;
- use App\Enums\DefaultStatusEnum;
- use App\Enums\EvaluationTargetEnum;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Database\Eloquent\Relations\HasMany;
- use Illuminate\Database\Eloquent\SoftDeletes;
- class EvaluationCampaign extends Model
- {
- use SoftDeletes;
- protected $guarded = ['id'];
- protected function casts(): array
- {
- return [
- 'target' => EvaluationTargetEnum::class,
- 'status' => DefaultStatusEnum::class,
- 'started_at' => 'datetime',
- 'finished_at' => 'datetime',
- ];
- }
- public function createdBy(): BelongsTo
- {
- return $this->belongsTo(User::class, 'created_by');
- }
- public function evaluations(): HasMany
- {
- return $this->hasMany(Evaluation::class);
- }
- public function isActive(): bool
- {
- return $this->status === DefaultStatusEnum::ACTIVE;
- }
- public function isFinished(): bool
- {
- return $this->finished_at !== null;
- }
- }
|