33 lines
1.2 KiB
PHP
33 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Commands;
|
|
|
|
use CodeIgniter\CLI\BaseCommand;
|
|
use CodeIgniter\CLI\CLI;
|
|
use Config\Database;
|
|
|
|
class CleanupPelanggaran extends BaseCommand
|
|
{
|
|
protected $group = 'Maintenance';
|
|
protected $name = 'cleanup:pelanggaran';
|
|
protected $description = 'Hapus data pelanggaran yang sudah dihapus lebih dari 7 hari (is_deleted = true).';
|
|
|
|
public function run(array $params)
|
|
{
|
|
$db = Database::connect();
|
|
$builder = $db->table('e_teguran_humanis.pelanggaran');
|
|
|
|
$delete = $builder->where('is_deleted', true)
|
|
->where('deleted_at <', date('Y-m-d H:i:s', strtotime('-7 days')))
|
|
->get()->getResult();
|
|
|
|
if (!empty($delete)) {
|
|
$db->table('e_teguran_humanis.pelanggaran')->where('is_deleted', true)->where('deleted_at <', date('Y-m-d H:i:s', strtotime('-7 days')))->delete();
|
|
foreach ($delete as $key => $value) {
|
|
CLI::write('✅ Berhasil menghapus data pelanggaran dengan id ' . $value->pelanggaran_id, 'green');
|
|
}
|
|
} else {
|
|
CLI::write('Gagal menghapus data pelanggaran lebih dari 7 hari', 'red');
|
|
}
|
|
}
|
|
} |