permission_id)->delete(); }); } /** * @return BelongsTo */ public function permission(): BelongsTo { return $this->belongsTo(Permission::class, 'permission_id', 'id'); } /** * @return HasMany */ public function applications(): HasMany { return $this->hasMany(WebsiteStaffApplications::class, 'rank_id', 'permission_id'); } /** * @param \Illuminate\Database\Eloquent\Builder $query * @return \Illuminate\Database\Eloquent\Builder */ #[\Illuminate\Database\Eloquent\Attributes\Scope] protected function canApply($query) { return $query->where('apply_from', '<=', now())->where('apply_to', '>', now()); } protected function casts(): array { return [ 'apply_from' => 'datetime', 'apply_to' => 'datetime', ]; } }