はじめに
私は株式会社qnoteにて、勉強会の幹事を務めております。
2023年度勉強会の珠玉のネタを2023Qiitaアドベントカレンダーに投稿していこうと思います。
対象者
この記事は下記のような人を対象にしています。
- 駆け出しエンジニア
- プログラミング初学者
結論
- save()は保存だけ。(変更がない場合、updated_atは更新されない)
- create()はインスタンス化+データ挿入+保存まで一括で実行
save()
saveメソッドは保存するだけです。
インスタンス化+データ挿入は事前に行う必要があります。
$user = new User();
$user->name = $request->name;
$user->save();
また、カラムの内容を更新する際に、挿入されるデータが更新前と同じものであれば、updated_atのカラムが更新されません!
create()
createメソッドはインスタンス化+データ挿入+データ保存を一括で行います。
$user = App\Model\User::create(['name' => $request->name]);
おわりに
save()とcreate()の挙動の違いについてまとめました。
参考記事