我目前正在使用codeigniter为库存跟踪系统创建一个应用程序。我已经创建了一种创建/显示/更新/删除事件的方法。我遇到的问题是库存表。我正在显示一个表格,每一行都是一个独特的产品。我希望能够同时更新数据库库存表行。我在我的模型中尝试这样的事情:
function insert_inventory($data){
foreach($_POST['product'] as $product){
$this->db->insert('inventory', $data);
}
}
这是控制器:
function add_show_inventory() {
$data['products']=$this->product->get_products();
$this->form_validation->set_rules('skuID', 'skuID', 'required');
$this->form_validation->set_rules('brought-in', '"Brought In"', 'required');
$this->form_validation->set_rules('finished-with', '"Finished With"', 'required');
$this->form_validation->set_rules('deliveries', 'Deliveries');
$this->form_validation->set_error_delimiters('<div class="error-module">', '</div>');
if($this->form_validation->run()== FALSE){
$this->load->view('header');
$this->load->view('menu');
$this->load->view('inventory/show-add-inventory', $data);
$this->load->view('footer');
} else {
if($_POST){
//$data['show']=$this->show->get_show();
$data=array(
'skuID'=>$_POST['skuID'],
'product'=>$_POST['product'],
'deliveries'=>$_POST['deliveries'],
'brought-in' =>$_POST['brought-in'],
'finished-with'=>$_POST['finished-with'],
);
$this->inventory->insert_inventory($data);
redirect(base_url().'shows/');
}
}
}
有关如何同时插入多行的任何想法?任何帮助表示赞赏。
答案 0 :(得分:0)
为此优化您的代码:$this->db->insert_batch();
$data = array(
array(
'title' => 'My title' ,
'name' => 'My Name' ,
'date' => 'My date'
),
array(
'title' => 'Another title' ,
'name' => 'Another Name' ,
'date' => 'Another date'
)
);
$this->db->insert_batch('mytable', $data);