为什么created_at updated_at在插入时为null

时间:2017-01-23 09:41:10

标签: php laravel

在我的laravel项目中,我需要一次添加多个记录,我还想自动插入created_at和updated_at作为save()的工作。但是不能在insert方法中工作。

for($i=0; $i<count($req->location_id); $i++)
                    {
                            $asset_arr[$i]['property_id'] = $this->id;
                            $asset_arr[$i]['location_id'] = $req->location_id[$i];
                            $asset_arr[$i]['model_id'] = $req->model_id[$i];
                            $asset_arr[$i]['appliance_owner'] = $req->appliance_owner[$i];
                            $asset_arr[$i]['current'] = $req->current[$i];
                            if($req->installdate[$i]!=''){
                                $asset_arr[$i]['installdate'] = date('Y-m-d',strtotime($req->installdate[$i]));
                            }
                            $asset_arr[$i]['comment'] = $req->comment[$i];
                    }
                    if(!empty($asset_arr)){

                            Asset::insert($asset_arr);
                    }

2 个答案:

答案 0 :(得分:4)

insert()不是Eloquent方法,因此您需要手动添加时间戳。做这样的事情:

$asset_arr[$i]['created_at'] = Carbon::now();
$asset_arr[$i]['updated_at'] = Carbon::now();

答案 1 :(得分:0)

我认为应该使用insert()

而不是create()方法

Laravel的created_at / updated_at是Illuminate \ Database \ Eloquent \ Model的一部分。 Insert()不是一种雄辩的方法