将多选值插入数据库codeigniter

时间:2014-01-14 22:05:48

标签: php codeigniter

发布的数据,包括多选字段

Array ( [id] => 16 [pAttr] => Array ( [0] => Colour [1] => Size ) ) 

我正在尝试插入只有一个属性的id,然后在第二行再次执行。

____________________
|  id  | attribute |
--------------------
|  16  |  Colour   |
|  16  |  Size     |

控制器方法

public function add_config_product()
{
    $data['id'] = $this->input->post('id');
    $data['attribute'] = $this->input->post('pAttr');

    /*$data = array(

        'id' => $this->input->post('id'),
        'attribute' => $this->input->post('pAttr')
    );*/

    //print_r($data);
    $this->inventory_model->add_config_product($data);
}

模型

public function add_config_product($data)
{
    $this->db->insert('product_attr_value', $data);
}

2 个答案:

答案 0 :(得分:1)

试试这个:

控制器:

public function add_config_product()
{
    $data['id'] = $this->input->post('id');
    foreach ($this->input->post('pAttr') as $attribute):
        $data['attribute'] = $attribute;
        $this->inventory_model->add_config_product($data);
    endforeach;
}

这将遍历pAttr输入数组并在每行中添加值。

答案 1 :(得分:0)

如果将值数组传递给要插入的模型中的函数,则可以使用以下类型:

public function add_config_product($data)
{
   $this->db->insert_batch('product_attr_value',$data);
}