データベースにビューテーブルがあり、このコードでレコードを更新しようとしています(まだ存在しない場合は作成しています):Laravel updateOrCreate一般エラーフィールドpost_idが存在しません
$ar = ['number_of_views' => $number_of_views['number_of_views']+1, 'post_id' => $post->id];
App\View::updateOrCreate(['id' => $number_of_views['id']], $ar);
は、残念ながら、これはエラーを返します:
SQLSTATE[HY000]: General error: 1364 Field 'post_id' doesn't have a default value (SQL: insert into
views
(number_of_views
,updated_at
,created_at
) values (1, 2017-02-09 14:41:19, 2017-02-09 14:41:19))
故に、それがすべてで設定されていなかったかのようにエラーを返す'post_id' => $post->id
を認識していないようです。
このエラーは、レコードを作成する場合にのみ表示され、レコードが既に存在する場合には表示されません。あなたはこのような質量割り当てのためのモデルの充填可能な属性にpost_id
フィールドを追加する必要が
はよろしい '$ポスト> id'ですが値を持っていますか? – Jerodev
はい、ステートメントの前に戻してみましたが、値が8に設定されました – DomeWTF
これを8に直接設定しようとしましたが、同じエラーが発生します – DomeWTF