v2.5.2
Giriş yap

php log tutma

emmir2
1,323 defa görüntülendi

Merhaba sipariş düzenle ekranında yaptığım değişikleri nası kayıt ettirebilirim örnek olarak siparişteki ad ve soyadı değiştirdiğimde değişen veri => yeni veri olarak kayıt etmek istiyorum

firatogr
1083 gün önce

Öncelikle bir tablo oluştur veritabanında. İsmi (örnek olarak söylüyorum) product_updates olsun. Bu tabloda açacağın sütünlar şöyle olsun

product_update_id => primary_key
product_id => int(11)
product_update_order => int(11)
product_info => json
product_update_date => timestamp formatında varsayılan olarak current_timestamp

product_update_id otomatik artacak klasik zaten
product_id ürünün id sini tutacak
product_update_order ürünün kaçıncı değişimi olduğunu tutacak misal ürünü ilk defa güncellediysen 1, 8. kez güncellediysen 8 yazacak
product_info ürünün güncellenmeden önceki tüm bilgilerini json olarak tutacak.
product_update_date güncellenme tarihini tutacak

<?php
    function update($productId, $productInfo){
        global $db;
        $product = $db->from('products')->where('product_id', $productId)->first();
        if(!$product){
            return 'Böyle bir ürün yok.';
        } else if(!$productInfo){
            return 'Ürün bilgileri giriniz.';
        } else {
            $productLastUpdateOrder = $db->from('product_updates')->where('product_id', $productId)->orderby('product_update_order', 'desc')->first();
            if($db->insert('product_updates')->set([
                'product_id' => $productId,
                'product_update_order' => ($productLastUpdateOrder['product_update_order'] + 1),
                'product_info' => $productInfo
            ])){
                return 'İşlem başarıyla gerçekleşti.';
            } else {
                return 'İşlem gerçekleştirilemedi.';
            }
        }
    }
?>

Kısaca bu şekilde olabilir