Php 质量分配插入雄辩的
在Laravel 5.1中,我对插入使用质量赋值。但我想学习如何用雄辩的语言大量插入 我需要在订单流程中插入已售出的产品 这是我要插入的数据Php 质量分配插入雄辩的,php,laravel,mass-assignment,Php,Laravel,Mass Assignment,在Laravel 5.1中,我对插入使用质量赋值。但我想学习如何用雄辩的语言大量插入 我需要在订单流程中插入已售出的产品 这是我要插入的数据 foreach($cart['fields'] as $key => $product) { $orderDetailData[] = [ 'order_id' => $orderData['order_id'], 'product_id' =&g
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);
我认为这种方法不支持批量插入
在拉威尔5.1曼努埃尔我看到了这一点
DB::table('table')->insert($orderDetailData);
批量插入的批量分配应该怎么做?我是否应该使用上一个(DB facade)
因为我得到了这个代码的错误(500内部服务器错误)
(new OrderDetail)->create($orderDetailData);
要使用质量赋值插入/creae,您可以在您的
Eloquent
模型中声明一个数组,如下所示:
protected $fillable = [
'order_id',
'product_id',
'quantity',
'more fields names here...'
];
将插入已定义的字段名。查看更多信息。也可以使用允许质量分配的方法
此外,
500内部服务器错误
对于特定错误并不明显,因此请找出它。要使用批量分配插入/creae,您可以在您的elount
模型中声明一个数组,如下所示:
protected $fillable = [
'order_id',
'product_id',
'quantity',
'more fields names here...'
];
将插入已定义的字段名。查看更多信息。也可以使用允许质量分配的方法
此外,
500内部服务器错误
对于特定错误并不明显,因此请找出它。这是一个示例,您可以创建数据数组,并在此处以相同的方式插入数据
$data = array(
array(
'name'=>'Coder 1', 'rep'=>'4096',
'created_at'=>date('Y-m-d H:i:s'),
'modified_at'=> date('Y-m-d H:i:s')
),
array(
'name'=>'Coder 2', 'rep'=>'2048',
'created_at'=>date('Y-m-d H:i:s'),
'modified_at'=> date('Y-m-d H:i:s')
),
//...
);
YourModelName::create($data);
这是一个示例,您可以创建数据数组,并可以按同样的方式插入数据
$data = array(
array(
'name'=>'Coder 1', 'rep'=>'4096',
'created_at'=>date('Y-m-d H:i:s'),
'modified_at'=> date('Y-m-d H:i:s')
),
array(
'name'=>'Coder 2', 'rep'=>'2048',
'created_at'=>date('Y-m-d H:i:s'),
'modified_at'=> date('Y-m-d H:i:s')
),
//...
);
YourModelName::create($data);
你可以那样插入
$data = array(
array('name'=>'Coder 1', 'rep'=>'4096'),
array('name'=>'Coder 2', 'rep'=>'2048'),
//...
);
OrderDetail::insert($data);
也使这些文件可填充
protected $fillable = [
'name',
'rep_id',
];
你可以那样插入
$data = array(
array('name'=>'Coder 1', 'rep'=>'4096'),
array('name'=>'Coder 2', 'rep'=>'2048'),
//...
);
OrderDetail::insert($data);
也使这些文件可填充
protected $fillable = [
'name',
'rep_id',
];
错误是什么?当您手动设置字段时,为什么会担心批量分配?当人们想要执行类似于
Model::create($request->all())
的操作时,批量分配是一个问题,而不是当他们手动指定添加哪个字段时。错误是什么说500 internal server error
?当您手动设置字段时,为什么会担心批量分配?当人们想做类似于Model::create($request->all())
的事情时,批量分配是一个问题,而不是当他们手动指定添加哪个字段时。我已经使用了filleble。但我不知道我可以静态调用OrderDetail模型的方法。@CihanKüsmez是的,你可以静态调用控制器中的每个模型方法?@CihanKüsmez是的,你可以已经使用fillable。但我不知道我可以静态调用OrderDetail模型的方法。@CihanKüsmez是的,你可以静态调用staticlycan静态调用控制器中的每个模型方法?@CihanKüsmez是的,你可以