2016-03-31 18 views
3
numaralı telefonu görüntüleyin

Laravel 5.1 kullanıyorum ve veritabanımdaki her şeyin UTC biçiminde olmasını istiyorum. Ancak verileri görüntülerken, 'Avrupa/Ljubljana' zaman dilimi içinde olması gerekir (ayrıca DST'ye bağlı olarak ekranın da değişmesi gerekir).Laravel 5.1 - Bir saat diliminde saklayın, başka bir

Uygulama zaten oldukça büyük olduğundan, olabildiğince az yer değiştirmek istiyorum. Bunu yapmanın en iyi yolu ne olurdu?

Şimdiye kadar ne düşündüğüm model sınıfını genişletiyor ve accesser/mutators ayarını (o zaman tüm x Modellerinde değiştirmem gerekiyor) created_at/updated_at için ya da sadece bu accessors/mutators için bir özellik yaratıyor ve tüm modellerde.

Ancak, bununla ilgili sorun, bazı modellerin sadece created_at/updated_at değerinden daha fazlasına sahip olması ve her model için bu mutators/accessörleri manuel olarak eklemem gerekiyor.

Daha iyi bir yolu var mı? Ve değilse, bir özellik yapmak mantıklı mıdır yoksa bir tür ana model oluşturmak ve her yerde genişletmek daha mı iyidir? Sen tarih nesneler olarak dönmelerini laravel zorlar Modelinizdeki korunan tarihleri ​​diziye ek tarih alanlar ekleyebilirsiniz

cevap

2

: Bahsettiğiniz olarak

protected $dates = ['created_at', 'updated_at', 'deleted_at', 'additional_field']; 

Ardından, değiştirmek erişimcilere ayarlayabilirsiniz senin alındıkları tarih dilimleri, kişisel olarak bir modelin doğrudan genişletilmesi yerine, herhangi bir ortak tarih vericiyi modelleriniz arasında paylaşmak için bir özellik oluşturabilirim.

+0

Öyleyse o zaman. Teşekkürler – devk

İlgili konular