Ben yazmadım bazı eski günlük kodu değiştirme ve bunu ne düşündüğünüzü merak derin diz değilim. Bu gibi mesaj günlükleri MySQL PHP ile yazılmış bir olay kaydedici olduğunu:
Sarah added a user, slick101
Mike deleted a user, slick101
Bob edited a service, Payment
Böylece gibi kırık:
Sarah [user_id] added a user [message], slick101 [reference_id, reference_table_name]
Böyle bir tabloya:
log
---
id
user_id
reference_id
reference_table_name
message
Yukarıdaki örnekte mesajlarında "Bob" ve "Ödeme" diğer masalara Kimliği ait değil, gerçek isimler olduğunu unutmayın. Bir katılmak adlarını almak için gereklidir.
Bu gibi görünüyor "referans _ masa _ ismi" sadece referans _ kimliği saklı olduğundan, doğru tabloda uygun isimleri bulmak içindir. Bu muhtemelen bir şekilde i reference_table_name saklanan bir tablo adı katılabilir eğer iyi olabilir, gibi pek olur:
select * from log l
join {{reference_table_name}} r on r.id = l.reference_id
Ben o bu masa düzeni ile nereye gittiğimi görüyorum - yerine istatistikleri için kimlikleri var ne kadar iyi bir tek sütuna (metin ayrıştırma gerektirir hangi) tüm mesajı saklamak. Şimdi ben merak ediyorum ..
Is there a better way or is it possible to do the make-believe join somehow?
Şerefe