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

回答編集履歴

1

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

2021/04/30 12:24

投稿

wai_
wai_

スコア66

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