2016-07-14 35 views
0

如果我有值的數組我想要做一個質量插入:存取器不要在羣衆工作中插入

Item::insert([['price' => 1234.25], ['price' => 4321.75]]); 

然後我改變者不火:

public function setPriceAttribute($value) 
{ 
    $this->attributes['price'] = round($value, 2) * 100; 
} 

除非我打破每一個創造:

foreach ([['price' => 1234.25], ['price' => 4321.75]] as $new) 
    Item::create($new); 

我在這裏錯過了什麼嗎?或者我將不得不手動將round($value, 2) * 100應用於陣列中的每個價格值?

我有很多記錄要插入,所以海量插入對數據庫來說效率最高。

回答

1

insert是db和create是雄辯的。使用Item::create($new);,但它需要在foreach

insert不是口才好,但質量可以插入 - 但時間戳更新和作品不會被添加等

這樣的foreach,可能是你最好的選擇,在這裏:

foreach ($news as $new) 
{ 
    Item::create($new); 
} 

似乎無論哪種方式,你都需要做一個foreach。要麼改變或創建記錄。選擇你的毒藥。