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

回答編集履歴

2

資料の追加

2020/07/19 10:36

投稿

SanQ
SanQ

スコア92

answer CHANGED
@@ -4,6 +4,8 @@
4
4
  すでに存在するDBのレコードの値を上書きする際は、Modelクラスにある`save()`を使用するのではなく、`update()`を使用します。
5
5
  `update()`についてはこちら
6
6
  [Laravel Database: Query Builder](https://laravel.com/docs/7.x/queries)
7
+ 日本語版
8
+ [データベース:利用開始 7.x Laravel - ReaDouble](https://readouble.com/laravel/7.x/ja/queries.html)
7
9
 
8
10
  あと、`SQLSTATE[HY000]: General error: 1364 Field 'image' doesn't have a default value`の言わんとすることは、現在存在しているテーブルのレコードの`image`カラムは値が入ってなくてはいけないのに、何も入れてくれていないという規約違反をしているからエラーだよ、ということです。
9
11
  今回の例で言うと、`save()`を使って新たにレコードを作成するのにも関わらず`image`が空だからエラーを出しています。このエラーは上記の問題を解決させ、もし写真の変更がなければそのレコードの`image`は何もしない、というコードを書けば表示されなくなると思います。

1

文法上の誤り

2020/07/19 10:36

投稿

SanQ
SanQ

スコア92

answer CHANGED
@@ -6,4 +6,4 @@
6
6
  [Laravel Database: Query Builder](https://laravel.com/docs/7.x/queries)
7
7
 
8
8
  あと、`SQLSTATE[HY000]: General error: 1364 Field 'image' doesn't have a default value`の言わんとすることは、現在存在しているテーブルのレコードの`image`カラムは値が入ってなくてはいけないのに、何も入れてくれていないという規約違反をしているからエラーだよ、ということです。
9
- 今回の例で言うと、`save()`を使って新たにレコードを作成するのにも関わらず`image`が空だからエラーを出しています。このエラーは上記の問題を解決させ、もし写真の変更がなければそのレコードの`image`は何もしない、というコードを書けば解決すると思います。
9
+ 今回の例で言うと、`save()`を使って新たにレコードを作成するのにも関わらず`image`が空だからエラーを出しています。このエラーは上記の問題を解決させ、もし写真の変更がなければそのレコードの`image`は何もしない、というコードを書けば表示されなくなると思います。