2017-01-23 83 views
3

在我的laravel項目中,我需要一次添加多個記錄,我也想將created_at和updated_at作爲save()中的作品自動插入。但不能在插入方法中工作。爲什麼created_at updated_at在插入時爲空

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); 
        } 

回答

3

insert()不是一個Eloquent方法,因此您需要手動添加時間戳。做這樣的事情:

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

是否有任何雄辯的方法來輸入多個記錄? –

+1

@Alfizamalek no,'insert()'是允許一次插入多行的唯一方法。 –

+1

ohh nooo.okay任何方式謝謝。 –

0

我想,而不是insert()方法,你應該使用create()

Laravel的created_at /的updated_at是照亮\數據庫\雄辯\模型的一部分。 Insert()是不是一個雄辯的方法

+0

我在添加答案後看到了Alexey的回答。因爲我已經從移動應用程序進入。 – Rashad

+0

'insert()'很好。 –

相關問題