查询构建器未插入时间戳。
查询构建器未插入时间戳。
我正在使用Query Builder插入数据,所有字段都被插入,但是像created_at和updated_at这样的时间戳没有插入,它们都有默认的0:0:0值。
我的插入查询是
$id = DB::table('widgets') ->insertGetId(array( 'creator' => Auth::user()->id, 'widget_name' => $request->input('widget_name'), 'pages' => json_encode($request->input('pages')), 'domain' => $request->input('domain'), "settings" => $settings, ));
admin 更改状态以发布 2023年5月25日
在我的情况下,我使用date(\'Y-m-d H:i:s\');
来获取当前日期时间。它每次都有效。 \n
$id = DB::table('widgets') ->insertGetId(array( 'creator' => Auth::user()->id, 'widget_name' => $request->input('widget_name'), 'pages' => json_encode($request->input('pages')), 'domain' => $request->input('domain'), "settings" => $settings, "created_at" => date('Y-m-d H:i:s'), "updated_at" => date('Y-m-d H:i:s'), ));
好的。字段 created_at
、updated_at
和 deleted_at
是 Eloquent
的“一部分”。您使用 Query Builder
=> 插入不会影响这两个字段 (created_at
和 updated_at
)。您应该手动定义它:
$id = DB::table('widgets') ->insertGetId(array( 'creator' => Auth::user()->id, 'widget_name' => $request->input('widget_name'), 'pages' => json_encode($request->input('pages')), 'domain' => $request->input('domain'), "settings" => $settings, "created_at" => \Carbon\Carbon::now(), # new \Datetime() "updated_at" => \Carbon\Carbon::now(), # new \Datetime() ));