回答編集履歴

1

さきほど編集途中で送信してしまいました…。

2021/04/30 12:24

投稿

wai_
wai_

スコア66

test CHANGED
@@ -1,15 +1,31 @@
1
+ 勘で答えます。**setPointDateStartにstringを渡しているから**だと思います。
2
+
3
+
4
+
5
+ > $lastPointProductVipDateStartデータ型があって無いので、エラーが起きていると認識しています。
6
+
7
+
8
+
1
- 勘で答えます。
9
+ おそらくご推察の通りだと思います。
2
10
 
3
11
  ```php
4
12
 
5
- $now = date($date);
13
+ $pointRateEntity->setPointDateStart($now);
6
14
 
7
15
  ```
8
16
 
9
- [date](https://www.php.net/manual/ja/function.date.php)の第1引数に日付フォーマット以外の
17
+ 時点での$nowがstring型なので、setPointDateStartの内部で `$now->format()` が呼ばれ、
18
+
19
+ > Call to a member function format() on string
10
20
 
11
21
 
12
22
 
23
+ `string型のメンバーの->format()がコールされたけど、string型にはformat()なんて関数定義されてないよ` と言われています。
24
+
25
+ `setPointDateStart` が何型を求めているか知りませんが、おそらく`DateTime`型だと思います。
26
+
27
+ DateTimeなら->format()も生えているのでこれかと。
13
28
 
14
29
 
30
+
15
- $pointRateEntity->setPointDateStart($now);
31
+ ([date](https://www.php.net/manual/ja/function.date.php)の第1引数に日付フォーマット以外の文字列を渡すとそのまま返すんですね。初めて知りました)