'datetime', 'authorized_at' => 'datetime', ]; /** * Get the user who authorized this record. */ public function authorizer() { return $this->belongsTo(User::class, 'authorized_by'); } /** * Get the formatted periode (YYYY-MM) * * @return string */ public function getFormattedPeriodeAttribute() { return $this->periode; } /** * Scope a query to only include pending statements. * * @param \Illuminate\Database\Eloquent\Builder $query * * @return \Illuminate\Database\Eloquent\Builder */ public function scopePending($query) { return $query->where('status', 'pending'); } /** * Scope a query to only include processing statements. * * @param \Illuminate\Database\Eloquent\Builder $query * * @return \Illuminate\Database\Eloquent\Builder */ public function scopeProcessing($query) { return $query->where('status', 'processing'); } /** * Scope a query to only include completed statements. * * @param \Illuminate\Database\Eloquent\Builder $query * * @return \Illuminate\Database\Eloquent\Builder */ public function scopeCompleted($query) { return $query->where('status', 'completed'); } /** * Scope a query to only include failed statements. * * @param \Illuminate\Database\Eloquent\Builder $query * * @return \Illuminate\Database\Eloquent\Builder */ public function scopeFailed($query) { return $query->where('status', 'failed'); } /** * Scope a query to only include pending authorization statements. * * @param \Illuminate\Database\Eloquent\Builder $query * * @return \Illuminate\Database\Eloquent\Builder */ public function scopePendingAuthorization($query) { return $query->where('authorized_status', 'pending'); } /** * Scope a query to only include approved statements. * * @param \Illuminate\Database\Eloquent\Builder $query * * @return \Illuminate\Database\Eloquent\Builder */ public function scopeApproved($query) { return $query->where('authorized_status', 'approved'); } /** * Scope a query to only include rejected statements. * * @param \Illuminate\Database\Eloquent\Builder $query * * @return \Illuminate\Database\Eloquent\Builder */ public function scopeRejected($query) { return $query->where('authorized_status', 'rejected'); } }