From 2591f7703f9a5440fb481837ec093b3c4f743b56 Mon Sep 17 00:00:00 2001 From: saber tabatabaee Date: Tue, 23 Jul 2024 10:37:40 +0330 Subject: [PATCH] fix rss item last synced at bug --- app/Models/RssItem.php | 10 ++++++++++ app/Nova/RssItem.php | 6 +++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/Models/RssItem.php b/app/Models/RssItem.php index c1082600..7e561094 100644 --- a/app/Models/RssItem.php +++ b/app/Models/RssItem.php @@ -6,12 +6,22 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; +use Illuminate\Support\Carbon; class RssItem extends Model { use HasFactory; use \Spatie\Tags\HasTags; + protected static function boot() + { + parent::boot(); + + static::creating(function ($model) { + $model->last_synced_at = $model->last_synced_at ?? Carbon::now()->format('Y-m-d'); + }); + } + protected $casts = [ 'last_synced_at' => 'datetime:Y-m-d', ]; diff --git a/app/Nova/RssItem.php b/app/Nova/RssItem.php index ca10df3e..46dce622 100644 --- a/app/Nova/RssItem.php +++ b/app/Nova/RssItem.php @@ -4,6 +4,7 @@ use Carbon\CarbonInterval; use Illuminate\Http\Request; +use Illuminate\Support\Carbon; use Laravel\Nova\Fields\Boolean; use Laravel\Nova\Fields\DateTime; use Laravel\Nova\Fields\ID; @@ -62,6 +63,9 @@ public function fields(NovaRequest $request) Number::make('interval_minutes'), DateTime::make('last_synced_at') + ->default(function () { + return Carbon::now()->format('Y-m-d'); + }) ->withMeta(['extraAttributes' => [ 'readonly' => true ]]), @@ -126,7 +130,7 @@ public static function indexQuery(NovaRequest $request, $query): \Illuminate\Dat { $user = $request->user(); - return $query->whereHas('rssBusiness', function($query) use ($user) { + return $query->whereHas('rssBusiness', function ($query) use ($user) { $query->where('admin_user_id', $user->id); }); }