32 lines
825 B
PHP
32 lines
825 B
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use Illuminate\Console\Attributes\Description;
|
|
use Illuminate\Console\Attributes\Signature;
|
|
use Illuminate\Console\Command;
|
|
use App\Models\Entry;
|
|
|
|
#[Signature('entries:purge-featured {--days=15}')]
|
|
#[Description('Remove Featured from entries higher than X days')]
|
|
class PurgeFeaturedEntries extends Command
|
|
{
|
|
public function handle()
|
|
{
|
|
$days = $this->option('days');
|
|
|
|
$cutoff = now()->subDays($days);
|
|
|
|
$count = Entry::query()
|
|
->where('featured', true)
|
|
->where('featured_at', '<=', $cutoff)
|
|
->update([
|
|
'featured' => false,
|
|
'featured_at' => null,
|
|
]);
|
|
|
|
$this->info("$count entr" . ($count > 1 ? 'ies' : 'y') . " unfeatured.");
|
|
return self::SUCCESS;
|
|
}
|
|
}
|