查询构建器未插入时间戳。

8 浏览
0 Comments

查询构建器未插入时间戳。

我正在使用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日
0
0 Comments

在我的情况下,我使用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'),
        ));

0
0 Comments

好的。字段 created_atupdated_atdeleted_atEloquent 的“一部分”。您使用 Query Builder=> 插入不会影响这两个字段 (created_atupdated_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()
        ));

0