Конструктор запросов не вставляет временные метки

Я использую 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,
            ));

Ответы

Ответ 1

Отлично. Поля created_at, update_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()
        ));