1
我有一個在數據庫中的意見表,我試圖更新其中的記錄(或創建它,如果它不存在)與此代碼:Laravel更新或創建一般錯誤字段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
因此返回,如果它是根本沒有設置錯誤。
只有在記錄被創建時纔會出現此錯誤,如果該記錄已存在,則不會出現此錯誤。
確定'$後> id'創建一個新的行,當有一個值? – Jerodev
是的,我試圖返回它之前的聲明,它的值爲8 – DomeWTF
我試圖直接將它設置爲8,但它給出了相同的錯誤 – DomeWTF