📔
Laravel Call to a member function format() on string のエラー解決
はじめに
基本的なエラー文の解説です。
エラー発生事
$date = "2021-06-01";
Shop::where('date', $date->format('Y-m-d'));
}
エラー発生
Call to a member function format() on string
原因
エラー内容は、
「ストリング($date)において、メンバー関数のformat()を呼んでいるよ」
ということ。
仰る通り、変数の$dateはストリング型であって、format()なんていう関数を持っていない。
当たり前ですね。
そもそも、$date->format('Y-m-d')で何がしたいのかというと、
Dateクラスの日にちを、「2022-06-01」の用に変換したい、ということ。
もう、変数の段階でできている。。
解決法
format()を使わず、変数$dateでShopテーブルの中のdateカラムのデータを見つける。
$date = "2021-06-01";
Shop::where('date', $date);
}
さいごに
以上、基本的なミスでした。
元々あるロジックを別で転用しようとした際に、変数の中身が違うことを確認していれば一発でわかるエラーでした。
Discussion