2017-02-09 7 views
1

データベースにビューテーブルがあり、このコードでレコードを更新しようとしています(まだ存在しない場合は作成しています):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フィールドを追加する必要が

+1

はよろしい '$ポスト> id'ですが値を持っていますか? – Jerodev

+0

はい、ステートメントの前に戻してみましたが、値が8に設定されました – DomeWTF

+0

これを8に直接設定しようとしましたが、同じエラーが発生します – DomeWTF

答えて

0

:新しい行を作成するとき

protected $fillable = ['post_id', 'number_of_views']; 
関連する問題