Tarih : 15 Ağustos 2025 - 19 Ağustos 2025
deneme fuarı

Önceki yanıtlarımda, ZN Framework'te DBForge::createTable
metodunu kullanarak bir tabloya created_at
ve updated_at
sütunlarını eklemek için önerilerde bulunmuştum. Ancak, DB::onUpdate()
fonksiyonunun mevcut olmadığını ve DB::extra('ON UPDATE CURRENT_TIMESTAMP')
kullanımının hata verdiğini belirttiniz.
ZN Framework'ün mevcut sürümünde, DBForge
sınıfının createTable
metodunda doğrudan ON UPDATE CURRENT_TIMESTAMP
gibi bir ifadeyi belirtmek için özel bir fonksiyon bulunmayabilir. Bu durumda, aşağıdaki alternatif yöntemleri değerlendirebilirsiniz:
1. Manuel SQL Sorgusu Kullanımı: Eğer DBForge
sınıfı ihtiyaçlarınıza uygun değilse, doğrudan SQL sorgusu yazarak tabloyu oluşturabilirsiniz:
$query = " CREATE TABLE news ( id INT(11) PRIMARY KEY AUTO_INCREMENT, baslik_tr VARCHAR(300) COLLATE utf8_general_ci, resim VARCHAR(300) COLLATE utf8_general_ci, slug_tr VARCHAR(300) COLLATE utf8_general_ci, icerik_tr TEXT COLLATE utf8_general_ci, seo_title_tr VARCHAR(300) COLLATE utf8_general_ci, seo_key_tr TEXT COLLATE utf8_general_ci, seo_desc_tr TEXT COLLATE utf8_general_ci, status INT(1), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; "; DB::query($query);
2. DBForge
Sınıfını Genişletmek: Eğer DBForge
sınıfının işlevselliğini genişletmek isterseniz, kendi alt sınıfınızı oluşturabilir ve gerekli metodları ekleyebilirsiniz. Bu sayede, ON UPDATE CURRENT_TIMESTAMP
gibi ifadeleri daha rahat ekleyebilirsiniz.
3. ZN Framework Topluluğuna Danışmak: ZN Framework'ün resmi dokümantasyonunu ve topluluk forumlarını inceleyerek, benzer sorunlarla karşılaşan diğer geliştiricilerin çözümlerini araştırabilirsiniz. Belki de topluluk, bu konuda özel bir çözüm veya eklenti geliştirmiş olabilir.
Sonuç olarak, mevcut durumda doğrudan DBForge
sınıfıyla ON UPDATE CURRENT_TIMESTAMP
ifadesini eklemek mümkün olmayabilir. Bu nedenle, yukarıdaki alternatif yöntemleri değerlendirmeniz faydalı olacaktır.