teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

対処した方法を追加

2020/09/02 10:39

投稿

kipipipi
kipipipi

スコア60

title CHANGED
File without changes
body CHANGED
@@ -121,14 +121,15 @@
121
121
 
122
122
  **9/2 **
123
123
  --
124
- SQLの時間を記録しているSQLの'created_at'の型をtimestampからdatetimeに変えてやってみましたが変化がありませんでした。
124
+ - SQLの時間を記録しているSQLの'created_at'の型をtimestampからdatetimeに変えてやってみましたが変化がありませんでした。
125
- \Log::debug()でsqlから引っ張ってきた配列を確認したところ
125
+ - \Log::debug()でsqlから引っ張ってきた配列を確認したところ
126
126
  ```php
127
127
  [{"id":1,"project_id":"999999","body":"1\u756a\u76ee\u306e\u30e1\u30c3\u30bb\u30fc\u30b8","created_at":"2020-09-02T06:26:36.000000Z","updated_at":"2020-09-02T06:26:36.000000Z"},省略]
128
128
  ```
129
129
  の様になっており、すでに時間がUTC扱い?の様に見受けられました。
130
130
  つまり、Vueが何かやっているわけではない様です。(migrateしているので画像と時間が違います)
131
+
131
- LaravelのタイムゾーンをUTCに戻したところ、当然ながらUTC時間でSQLに保存されました。
132
+ - LaravelのタイムゾーンをUTCに戻したところ、当然ながらUTC時間でSQLに保存されました。
132
133
  また、それに伴い、SQLから引き出すと時間は登録された時間からさらに9時間遡って表示されました。。。
133
134
 
134
135
  現在分かったのは、LaravelがSQLから取り出す瞬間に時間が変換されている様です。

5

対処した方法を追加

2020/09/02 10:39

投稿

kipipipi
kipipipi

スコア60

title CHANGED
File without changes
body CHANGED
@@ -120,10 +120,17 @@
120
120
 
121
121
 
122
122
  **9/2 **
123
+ --
123
124
  ・SQLの時間を記録しているSQLの'created_at'の型をtimestampからdatetimeに変えてやってみましたが変化がありませんでした。
124
125
  ・\Log::debug()でsqlから引っ張ってきた配列を確認したところ
125
126
  ```php
126
127
  [{"id":1,"project_id":"999999","body":"1\u756a\u76ee\u306e\u30e1\u30c3\u30bb\u30fc\u30b8","created_at":"2020-09-02T06:26:36.000000Z","updated_at":"2020-09-02T06:26:36.000000Z"},省略]
127
128
  ```
128
129
  の様になっており、すでに時間がUTC扱い?の様に見受けられました。
129
- つまり、Vueが何かやっているわけではない様です。(migrateしているので画像と時間が違います)
130
+ つまり、Vueが何かやっているわけではない様です。(migrateしているので画像と時間が違います)
131
+ ・LaravelのタイムゾーンをUTCに戻したところ、当然ながらUTC時間でSQLに保存されました。
132
+ また、それに伴い、SQLから引き出すと時間は登録された時間からさらに9時間遡って表示されました。。。
133
+
134
+ 現在分かったのは、LaravelがSQLから取り出す瞬間に時間が変換されている様です。
135
+ cakePHP3を使用していた時はこんなことは体験しなかったので、mysqlが悪いとは思えません。
136
+ 現在Laravelが何かしらやっていると睨んでいます。

4

対処した方法を追加

2020/09/02 10:37

投稿

kipipipi
kipipipi

スコア60

title CHANGED
File without changes
body CHANGED
@@ -119,7 +119,7 @@
119
119
 
120
120
 
121
121
 
122
- 9/2
122
+ **9/2 **
123
123
  ・SQLの時間を記録しているSQLの'created_at'の型をtimestampからdatetimeに変えてやってみましたが変化がありませんでした。
124
124
  ・\Log::debug()でsqlから引っ張ってきた配列を確認したところ
125
125
  ```php

3

追記しました

2020/09/02 10:00

投稿

kipipipi
kipipipi

スコア60

title CHANGED
File without changes
body CHANGED
@@ -117,6 +117,8 @@
117
117
  ほぼ上記の参考URLに書かれていることを書いているだけですが、よろしくお願いいたします。
118
118
 
119
119
 
120
+
121
+
120
122
  9/2
121
123
  ・SQLの時間を記録しているSQLの'created_at'の型をtimestampからdatetimeに変えてやってみましたが変化がありませんでした。
122
124
  ・\Log::debug()でsqlから引っ張ってきた配列を確認したところ

2

追記しました

2020/09/02 10:00

投稿

kipipipi
kipipipi

スコア60

title CHANGED
File without changes
body CHANGED
@@ -114,4 +114,14 @@
114
114
 
115
115
  ```
116
116
 
117
- ほぼ上記の参考URLに書かれていることを書いているだけですが、よろしくお願いいたします。
117
+ ほぼ上記の参考URLに書かれていることを書いているだけですが、よろしくお願いいたします。
118
+
119
+
120
+ 9/2
121
+ ・SQLの時間を記録しているSQLの'created_at'の型をtimestampからdatetimeに変えてやってみましたが変化がありませんでした。
122
+ ・\Log::debug()でsqlから引っ張ってきた配列を確認したところ
123
+ ```php
124
+ [{"id":1,"project_id":"999999","body":"1\u756a\u76ee\u306e\u30e1\u30c3\u30bb\u30fc\u30b8","created_at":"2020-09-02T06:26:36.000000Z","updated_at":"2020-09-02T06:26:36.000000Z"},省略]
125
+ ```
126
+ の様になっており、すでに時間がUTC扱い?の様に見受けられました。
127
+ つまり、Vueが何かやっているわけではない様です。(migrateしているので画像と時間が違います)

1

追記しました

2020/09/02 09:59

投稿

kipipipi
kipipipi

スコア60

title CHANGED
File without changes
body CHANGED
@@ -8,4 +8,110 @@
8
8
  しかし、下の画像の様に出力時には下記の画像の様にUTC扱いで困っています。
9
9
  ![イメージ説明](c6996abb00d9ab638838911050d65342.png)
10
10
  DBと同じ時間で出力をしたいのですが、方法はありますか?
11
- よろしくお願いいたします。
11
+ よろしくお願いいたします。
12
+
13
+ 問題のchat.blade.php
14
+ ```php
15
+ <html>
16
+ <body>
17
+ <div id="chat">
18
+ <textarea v-model="message"></textarea>
19
+ <br>
20
+ <button type="button" @click="send">送信</button>
21
+
22
+ <div v-for="m in messages">
23
+ <!-- 登録された日時 -->
24
+ <span v-text="m.created_at"></span>:&nbsp;
25
+
26
+ <!-- id -->
27
+ <span v-text="m.user_id"></span>:&nbsp;
28
+
29
+ <!-- project_id -->
30
+ <span v-text="m.project_id"></span>:&nbsp;
31
+
32
+ <!-- メッセージ内容 -->
33
+ <span v-text="m.body"></span>
34
+ </div>
35
+
36
+ </div>
37
+ <script src="{{ asset('/js/app.js') }}"></script>
38
+
39
+ <script>
40
+
41
+ new Vue({
42
+ el: '#chat',
43
+ data: {
44
+ message: '',
45
+ messages: [],
46
+ user_id:'',
47
+ project_id:'',
48
+ },
49
+ methods: {
50
+ getMessages() {
51
+ const url = 'パス'
52
+ axios.get(url)
53
+ .then((response) => {
54
+ this.messages = response.data;
55
+ alert(response.data);
56
+ });
57
+
58
+ },
59
+ send() {
60
+
61
+ // const url = action('Ajax\ChatController@create');
62
+ const url = 'パス'
63
+ const params = { message: this.message,user_id:this.user_id,project_id:this.project_id };
64
+ axios.post(url, params)
65
+ .then((response) => {
66
+
67
+ this.message = '';
68
+
69
+ });
70
+ }
71
+ },
72
+ mounted() {
73
+ this.getMessages();
74
+ Echo.channel('chat')
75
+ .listen('MessageCreated', (e) => {
76
+ this.getMessages();
77
+ });
78
+ }
79
+ });
80
+
81
+ </script>
82
+ </body>
83
+ </html>
84
+
85
+ ```
86
+ コントローラー
87
+ ```php
88
+ <?php
89
+
90
+ namespace App\Http\Controllers\Ajax;
91
+
92
+ use App\Events\MessageCreated;
93
+ use App\Http\Controllers\Controller;
94
+ use Illuminate\Http\Request;
95
+
96
+ class ChatController extends Controller
97
+ {
98
+ public function index() {
99
+
100
+ return \App\Message::orderBy('created_at', 'desc')->get();
101
+ }
102
+
103
+ public function create(Request $request) {
104
+
105
+ $message = \App\Message::create([
106
+ 'body' => $request->message,
107
+ 'user_id' => 12345,
108
+ 'project_id' => 99999
109
+ ]);
110
+ event(new MessageCreated($message));
111
+
112
+ }
113
+ }
114
+
115
+ ```
116
+
117
+ ほぼ上記の参考URLに書かれていることを書いているだけですが、よろしくお願いいたします。