【问题标题】:Query builder not inserting timestamps查询生成器不插入时间戳
【发布时间】:2016-01-31 19:57:20
【问题描述】:

我正在使用查询生成器插入数据,所有字段都已插入,但像 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,
            ));

【问题讨论】:

    标签: php mysql laravel query-builder


    【解决方案1】:

    好的。字段created_atupdate_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()
            ));
    

    【讨论】:

    • 没有什么办法可以自动完成
    • @Samundra KC 你想只使用 QueryBuilder 吗?
    • 使用 Laravel 宏:medium.com/fattihkoca/…
    【解决方案2】:

    就我而言,我使用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'),
            ));
    

    【讨论】:

    • “它每次都有效”——只要你在 DB 和 PHP 中有相同的时区 ;)
    猜你喜欢
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多