🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

1回答

5478閲覧

Laravelのsave メソッドでエラーが発生します。

gi_sa

総合スコア7

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2021/02/18 05:33

前提・実現したいこと

以下のサイトで学習中です。
https://dotinstall.com/lessons/basic_laravel_v2/42206

Laravelで、モデル作成後にレコード挿入⇒save()メソッドで保存する工程があるのですが、
エラーになり保存ができません。

発生している問題・エラーメッセージ

PHP Error: Call to undefined method stdClass::save() in /home/ec2-usereval()'d code on line 1

該当のソースコード

laravel

1Cloud9User:~/environment/myblog $ php artisan tinker 2Psy Shell v0.10.6 (PHP 7.2.24 — cli) by Justin Hileman 3>>> $post = new stdClass; 4=> {#3308} 5>>> $post->title = 'title 1'; 6=> "title 1" 7>>> $post->body = 'body 1'; 8=> "body 1" 9>>> $post->save(); 10PHP Error: Call to undefined method stdClass::save() in /home/ec2-usereval()'d code on line 1

試したこと

はじめはレッスン通りにnew App\Post()とした後で
$post->title = 'title 1';とレコード追加していたのですが、その場合以下のようなエラーが出たため、
<warning>PHP Warning: Creating default object from empty value in /home/ec2-usereval()'d code on line 1</warning>
少し古いですがこちらのサイト(https://leben.mobi/blog/php_warning_stdclass/php/)を参考に$post = new stdClass;で初期化してから実行しました。

今回発生したエラーについても色々調べましたが、該当するものを見つけられなかったためご質問させていただきました。
ご教示いただけますと幸いです。よろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

・環境
AWS Cloud9

・バージョン
Laravel:7.30.4
PHP:7.2.24
Sqlit:3.7.17

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

すみません。$post = new Post; で初期化したところ自己解決いたしました。

投稿2021/02/18 05:37

gi_sa

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問