在Laravel 5.1中,我正在使用質量分配插入。但我想學習如何用Eloquent進行批量插入。質譜分配Insert in Eloquent
我需要在訂購過程中插入銷售的產品。
這是我的插入數據。
foreach($cart['fields'] as $key => $product)
{
$orderDetailData[] = [
'order_id' => $orderData['order_id'],
'product_id' => $product['id'],
'quantity' => $product['total_quantity'],
'price' => floatval($product['wholesale_price']),
'vat' => $product['vat'],
'vat_value' => floatval($product['vat_value']),
'discount_ratio' => $product['discount_ratio'],
'discount' => floatval($product['discount_value']),
'total_amount' => floatval($product['total_amount']),
];
}
這裏是我的插入
(new OrderDetail)->create($orderDetailData);
代碼,我覺得這個方法不支持大容量插入。
在Laravel 5.1 Manuel我看到這個。
DB::table('table')->insert($orderDetailData);
對於批量插入的批量分配我該怎麼做?我應該用以前的一個(DB門面)
,因爲我得到錯誤(500內部服務器錯誤),此代碼
(new OrderDetail)->create($orderDetailData);
什麼是錯誤說'500內部服務器error'? –
當您手動設置字段時,您爲什麼會擔心質量分配?當人們想要做類似Model :: create($ request-> all())的時候,質量分配就成了一個問題,而不是當他們手動指定哪個字段被添加時。 –