init
This commit is contained in:
33
app/Commands/CleanupPelanggaran.php
Normal file
33
app/Commands/CleanupPelanggaran.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?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');
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user