Ufak bir tavsiye vereyim bununla ilgili,
1 Tane tablo oluştur TrashTable diye;
- TrashID => int(11)
- TableName => varchar(255)
- TrashData => json
- DeleteAdminID => int(11)
- DeleteDate => now()
- Status => tinyint(1)
1 tane fonksiyon oluştur misal;
(Bu fonksiyon her tablodan veri sildiğinizde kullanabilirsiniz ve istediğiniz zaman tekrar tabloya aynı şekilde koyabilirsiniz. TrashData içerisinde direk o satırı alıp json olarak koyuyoruz.)
public static function deleteData($identityColumn,$identityID,$tableName){
// misal laravel db builder kullanıyoruz diyelim
$getData = DB::table($tableName)
->select("*")
->where($identityColumn,"=",$identityID)
->first();
if($getData != false){
DB::beginTransaction();
try{
DB::table("TrashTable")
->insert(array(
"TableName"=>$tableName,
"TrashData"=>json_encode($getData,JSON_UNESCAPED_UNICODE)
"DeleteAdminID"=>session('adminID')
));
DB::table($tableName)
->where($identityColumn,"=",$identityID)
->delete();
DB::commit();
return true;
}catch(Exception $e){
DB::rollBack();
return $e;
}
}else{
return false;
}
}