質問編集履歴

1

追記

2018/10/13 06:00

投稿

kriht
kriht

スコア26

test CHANGED
File without changes
test CHANGED
@@ -43,3 +43,93 @@
43
43
 
44
44
 
45
45
  原因がわかる方教えてください。
46
+
47
+
48
+
49
+ ---
50
+
51
+ 追記
52
+
53
+
54
+
55
+ sessionsのデータベース定義
56
+
57
+
58
+
59
+ ```SQL
60
+
61
+ CREATE TABLE `sessions` (
62
+
63
+ `id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
64
+
65
+ `user_id` int(10) UNSIGNED DEFAULT NULL,
66
+
67
+ `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
68
+
69
+ `user_agent` text COLLATE utf8mb4_unicode_ci,
70
+
71
+ `payload` text COLLATE utf8mb4_unicode_ci NOT NULL,
72
+
73
+ `last_activity` int(11) NOT NULL,
74
+
75
+ `latest_visit` timestamp NULL DEFAULT NULL
76
+
77
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
78
+
79
+ ```
80
+
81
+ 'latest_visit'を保存している処理(HelloControllerのindexメソッド内に記述)
82
+
83
+
84
+
85
+ ```PHP
86
+
87
+ $date = time();
88
+
89
+ $latest_visit = date("Y/m/d H:i:s", $date);
90
+
91
+ $request->session()->put('latest_visit', $latest_visit);
92
+
93
+ ```
94
+
95
+
96
+
97
+ 'latest_visit'を取り出す処理ですが、そもそもページを訪問した後にデータベースの中身を見ると'latest_visit'がNULLになっているので、取り出す処理以前に保存されていないです。
98
+
99
+
100
+
101
+ ```PHP
102
+
103
+ $last_time = $request->session()->get('latest_visit');
104
+
105
+ ```
106
+
107
+ 保存する際に$latest_visitは存在しています。
108
+
109
+ ```PHP
110
+
111
+ $date = time();
112
+
113
+ $latest_visit = date("Y/m/d H:i:s", $date);
114
+
115
+ var_export($latest_visit);
116
+
117
+ // '2018/10/13 05:15:08'
118
+
119
+ $request->session()->put('latest_visit', $latest_visit);
120
+
121
+ ```
122
+
123
+
124
+
125
+ $latest_visit = date("Y-m-d H:i:s", $date);
126
+
127
+ としても保存されません。
128
+
129
+
130
+
131
+ タイムスタンプ以外で、VARCHARを格納するカラムを作って文字列を保存させてもNULLになったので、何も保存できない状態です。
132
+
133
+
134
+
135
+ Laravelの標準のpayloadなどは正常に保存されます。