这是artilce_info表
$table->increments('id');
$table->unsignedInteger('user_id');
$table->string('title');
$table->integer('read_num');
$table->timestamps();
这是插入的代码
DB::beginTransaction();
try {
$artInfoId = DB::table('article_info')->insertGetId([
'title' => $title,
'user_id' => $userId,
'read_num' => 0,
]);
DB::table('article')->insert([
'art_info_id' => $artInfoId,
'content' => $body,
]);
DB::commit();
return redirect()->route('blog.index');
} catch(\Exception $exception) {
DB::rollBack();
return back()->withErrors($exception->getMessage())->withInput();
}
插入一条数据和,数据库中created_at和updated_at字段为0000-00-00 00:00:00。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
通过
Query Builder的方式插入数据,laravel是不会自动帮你管理created_at,updated_at这些字段的。你需要通过Model类处理,如:这样就可以自动生成对应时间
你可以使用Eloquent ORM,就可以自动生成created_at,updated_at,另外你如果要指定时间戳格式的话。在model类 使用 protected $dateFormat = 'U';
使用create
原生的插入语句,Laravel是不会自动帮你插入created_at和updated_at字段的。