2012-06-08 5 views
9

benzer soru vardır, amaDepolama Doctrine2 DateTime Sadece

Ben Doctrine2 için saat dilimleri anlatan bu sayfa üzerinde okudum ... herhangi yani burada gider Doctrine2 yapılandırmasına ilişkin bulmak ve ben olamazdı sadece açıklığa kavuşturmak istiyorum çünkü bunun nasıl kullanılacağı açık değildir: http://doctrine-orm.readthedocs.org/en/latest/cookbook/working-with-datetime.html

Her bir kullanıcının UTC'ye kaydedilmesini istiyorum, böylece her kullanıcının konumlarına göre ilişkili bir zaman dilimi olabilir, ancak veriler genel olarak saklanır.

Temel olarak, bilgi (9 am açık ve örneğin 6 de kapat) bir mağaza saattir. Mağaza, bir mağazadaki bir kişi "açık" zamanı belirlediğinde, mağazanın saat dilimi ile uğraşırken zamanın UTC'ye dönüştürülmesini ve veritabanında saklanması için zaman dilimini takip edecektir. Daha sonra, farklı bir kullanıcı mağaza saatlerini görüntülediğinde, açık saati kendi saat diliminde veya mağaza saat diliminde göreceklerdir. Önemli değil çünkü UTC'de zamanlarım var, bu yüzden onları herhangi bir zaman dilime dönüştürebilirim.

Yani Doktrini dokümanlar bu örneği gösterir:

class UTCDateTimeType extends DateTimeType 
{ 
// ... 
} 

Ama nasıl kullanılacağını söylemez. "DateTime" yerine "UTCDateTime" olarak sütunları bildirmek zorunda mıyım? Bu sınıfın, Doktrinin türün varlığının farkında olması için nerede yaşaması gerekir?

cevap

17

: Burada nasıl yapılacağına ilişkin bir blog yayını

config.yml

doctrine: 
    dbal: 
     types: 
      datetime: Acme\DoctrineExtensions\DBAL\Types\UTCDateTimeType