У меня есть таблица представлений в базе данных, и я пытаюсь обновить запись в ней (или создать ее, если она еще не существует) с помощью этого кода: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
, следовательно, возвращается ошибка, как если бы она не была установлена на всех.
Эта ошибка появляется только в том случае, если запись должна быть создана, а не если она уже существует.
Вы уверены, что '$ пост-> id' имеет значение при создании новой строки? – Jerodev
Да, я попытался вернуть его перед оператором, и ему назначено значение 8 – DomeWTF
Я попытался установить его на 8 напрямую, но он дает ту же ошибку – DomeWTF