fix: sync patient updated_at when visit is created or updated

This commit is contained in:
SajjadMahmoody
2026-04-29 00:49:08 +03:30
parent 40edd93fa5
commit d19191a320
5 changed files with 49 additions and 18 deletions
-1
View File
@@ -13,7 +13,6 @@ class Visit extends Model
{
use HasUserStamps;
protected $touches = ['patientRecord'];
protected $fillable = [
'patient',
'visit_date',
+30
View File
@@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace App\Observers;
use App\Models\Visit;
class VisitObserver
{
public function created(Visit $visit): void
{
$this->touchPatient($visit);
}
public function updated(Visit $visit): void
{
$this->touchPatient($visit);
}
private function touchPatient(Visit $visit): void
{
$patient = $visit->patientRecord;
if (! $patient) {
return;
}
$patient->updated_at = now();
$patient->save();
}
}
+2
View File
@@ -18,6 +18,7 @@
use App\Observers\PatientIllnessObserver;
use App\Observers\PatientObserver;
use App\Observers\SyncObserver;
use App\Observers\VisitObserver;
use App\Filament\Widgets\VisitStatsWidget;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
@@ -59,6 +60,7 @@ public function boot(): void
Prescription::observe($observer);
SurgeryAppointment::observe($observer);
Visit::observe($observer);
Visit::observe(VisitObserver::class);
User::observe($observer);
Role::observe($observer);