【发布时间】:2021-02-09 18:53:16
【问题描述】:
我有一个错误:
doesnt have a default value (SQL: insert into `news` (`updated_at`, `created_at`) values (2021-02-09 18:45:57, 2021-02-09 18:45:57))
我读到,当您尝试插入 NULL 值时会出现此错误,但对我来说最奇怪的部分是,尽管出现错误,它仍然将此数据保存在 DB 中(具有正确创建、更新的字段)。 这是控制器中的代码:
public function addArticle(Request $request)
{
$data = $request->json()->all();
$news = new News;
$news->insert([
'title' => $data['title'],
'content' => $data['content'],
'photo' => $data['photo'],
'author' => 1,
"created_at"=> now(),
"updated_at"=> now(),
]);
$news->save();
}
【问题讨论】:
-
您不会“摆脱”这个问题,而是要解决它。在架构中设置一个默认值,或者在调用
insert()时设置一个值。无论哪种方式。 -
您可以在数据库模式中将列的默认值设置为NULL
标签: mysql sql laravel timestamp