質問編集履歴
2
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
|
26
26
|
|
27
27
|
|
28
|
-
###下記の回答を参考にさせて頂き動作が確認出来ましたので記載致します。
|
28
|
+
###下記の回答を参考にさせて頂き動作が確認出来ましたのでコードを記載致します。
|
29
29
|
|
30
30
|
```PHP
|
31
31
|
//bootstrap.php
|
@@ -74,5 +74,7 @@
|
|
74
74
|
|
75
75
|
```PHP
|
76
76
|
//ミリ秒まで取得
|
77
|
+
//debug()だとミリ秒まで表示されないがformat()で表示されました
|
78
|
+
//i18nFormatでも何故かミリ秒が表示されませんでした
|
77
79
|
$item->created->format('Y-m-d H:i:s.u')
|
78
80
|
```
|
1
コード追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -21,4 +21,58 @@
|
|
21
21
|
PHP 7.1.2
|
22
22
|
MariaDB 10.1.10
|
23
23
|
|
24
|
-
よろしくお願い致します。
|
24
|
+
よろしくお願い致します。
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
###下記の回答を参考にさせて頂き動作が確認出来ましたので記載致します。
|
29
|
+
|
30
|
+
```PHP
|
31
|
+
//bootstrap.php
|
32
|
+
Type::map('dtm', 'App\Database\Type\DateTimeMilliType');
|
33
|
+
Type::build('dtm')
|
34
|
+
->useImmutable();
|
35
|
+
```
|
36
|
+
|
37
|
+
```PHP
|
38
|
+
//DateTimeMilliType.php
|
39
|
+
namespace App\Database\Type;
|
40
|
+
|
41
|
+
use Cake\Database\Type\DateTimeType;
|
42
|
+
use Cake\Database\Driver;
|
43
|
+
|
44
|
+
class DateTimeMilliType extends DateTimeType {
|
45
|
+
|
46
|
+
protected $_format = 'Y-m-d H:i:s.u';
|
47
|
+
|
48
|
+
public function toPHP($value, Driver $driver) {
|
49
|
+
if ($value === null || strpos($value, '0000-00-00') === 0) {
|
50
|
+
return null;
|
51
|
+
}
|
52
|
+
|
53
|
+
if (strpos($value, '.') !== false) {
|
54
|
+
//list($value) = explode('.', $value);
|
55
|
+
}
|
56
|
+
|
57
|
+
$instance = clone $this->_datetimeInstance;
|
58
|
+
$tmp_obj = $instance->createFromFormat('Y-m-d H:i:s.u', $value);
|
59
|
+
return $tmp_obj;
|
60
|
+
}
|
61
|
+
|
62
|
+
}
|
63
|
+
```
|
64
|
+
|
65
|
+
```PHP
|
66
|
+
//table
|
67
|
+
protected function _initializeSchema(Schema $schema) {
|
68
|
+
|
69
|
+
$schema->columnType("modified", 'dtm');
|
70
|
+
$schema->columnType("created", 'dtm');
|
71
|
+
return $schema;
|
72
|
+
}
|
73
|
+
```
|
74
|
+
|
75
|
+
```PHP
|
76
|
+
//ミリ秒まで取得
|
77
|
+
$item->created->format('Y-m-d H:i:s.u')
|
78
|
+
```
|