查询构建器不插入时间戳

新手上路,请多包涵

我正在使用查询构建器插入数据,所有字段都已插入,但时间戳如 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,
            ));

原文由 Samundra Khatri 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 299
2 个回答

好的。字段 created_at Eloquent - , update_at 和 - 和 deleted_at 您使用 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()
        ));

原文由 voodoo417 发布,翻译遵循 CC BY-SA 4.0 许可协议

就我而言,我使用 date('Y-m-d H:i:s'); 获取当前日期时间。它每次都有效。

     $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'),
        ));

原文由 akmoji 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏