2016-03-31 21 views
3

私はLaravel 5.1を使用しています。データベースのすべてがUTC形式である必要があります。しかし、データを表示するときには、タイムゾーン 'Europe/Ljubljana'(DSTに応じて表示を変更する必要があります)になければなりません。Laravel 5.1 - タイムゾーンで保存し、別のものを表示

アプリはすでにかなり大きいので、できるだけ少数の場所で変更したいと思っています。これを行うための最良の方法は何でしょうか?

私がこれまで考えていたのは、created_at/updated_atのためにモデルクラスを拡張し、アクセサー/ミューテータを設定することでした(私はそれをすべてのxモデルで変更する必要があります)すべてのモデルで。

しかし、いくつかのモデルには単にcreated_at/updated_at以上のものがあり、モデルごとにこれらのミューテータ/アクセサを手動で追加する必要があります。

もっと良い方法がありますか?そうでない場合は、特性を作ることが理にかなっているのですか、ある種のマスターモデルを作成し、どこにでも拡張する方が良いでしょうか?

答えて

2

あなたは日付オブジェクトとしてそれらを返すようにLaravelを強制するモデル内のあなたの保護された日付アレイに追加日付フィールドを追加することができます。

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

を次に、あなたが述べたように、あなたはあなたのを修正するためにアクセサを設定することができますモデルを直接拡張するのではなく、モデル間で共通の日付アクセサを共有するための特性を個人的に作成します。

+0

それはそうです。ありがとう – devk

関連する問題