質問編集履歴
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,6 +15,27 @@
|
|
15
15
|
- Providerを使って、ログインユーザの設定したタイムゾーンに切り替える(しかしDBから受け取った値自体が書き変わらないのでうまくいかない)
|
16
16
|
- アプリで使用するModel用の中間クラスModelBaseを作り、そのModelBase内でなんとか変換する(`__constructor`をいじってみたが、`__constructor`内ではまだプロパティが空なのでなにもできない)
|
17
17
|
|
18
|
+
### 状況
|
19
|
+
Sampleというモデルで、created_atが`2018-01-01 12:00:00`なデータがDBに保存されているとします。
|
20
|
+
```PHP
|
21
|
+
$sample = Sample::where('id', '=', 1)->first();
|
22
|
+
dd($sample->created_at, $sample->created_at->copy()->timezone("JST"));
|
23
|
+
```
|
24
|
+
この時ddで表示されるデータは以下のようになっています。
|
25
|
+
```
|
26
|
+
Carbon {#487 ▼
|
27
|
+
+"date": "2018-01-01 12:00:00.000000"
|
28
|
+
+"timezone_type": 3
|
29
|
+
+"timezone": "UTC"
|
30
|
+
}
|
31
|
+
Carbon {#521 ▼
|
32
|
+
+"date": "2018-01-01 21:00:00.000000"
|
33
|
+
+"timezone_type": 2
|
34
|
+
+"timezone": "JST"
|
35
|
+
}
|
36
|
+
```
|
37
|
+
これを、使用箇所ごとにtimezone設定するのではなく、ビューに渡される、またはレスポンスで返されるときにすべてのCarbonのタイムゾーンが一括で指定できるようになりたいのです。
|
38
|
+
|
18
39
|
###発生している問題・エラーメッセージ
|
19
40
|
とくになし。
|
20
41
|
|
1
考えている方法追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,6 +11,10 @@
|
|
11
11
|
|
12
12
|
どうにかしてModelからCarbonプロパティへアクセスするときに、一括で指定したタイムゾーンへ変換する方法はないでしょうか?また、こういった「Laravelでユーザごとに使用するタイムゾーンを切り分けられる手法」があれば教えていただけないでしょうか。
|
13
13
|
|
14
|
+
考えている方法としては以下のような物があります。
|
15
|
+
- Providerを使って、ログインユーザの設定したタイムゾーンに切り替える(しかしDBから受け取った値自体が書き変わらないのでうまくいかない)
|
16
|
+
- アプリで使用するModel用の中間クラスModelBaseを作り、そのModelBase内でなんとか変換する(`__constructor`をいじってみたが、`__constructor`内ではまだプロパティが空なのでなにもできない)
|
17
|
+
|
14
18
|
###発生している問題・エラーメッセージ
|
15
19
|
とくになし。
|
16
20
|
|