我在mysql中有产品变体表,我想防止每个父产品ID的重复子记录:
-----------------------------------------------------
id | product id | category id | variant_value_id' | title
----------------------------------------------------
1 | 11 | 2 | 7
2 | 11 | 3 | 7
这是我的mysql表结构。
我希望每个类别ID都有唯一的变体ID。
这是我的控制器
foreach($this->input->post('product_variant') as $value){
$variant_data = array(
'product_id' => $id,
'category_id' => $this->input->post('product_category'),
'variant_group_id' => $this->Product_model->get_variant_group_by_variant_id($value)[0]->group_id,
'variant_value_id' => $value,
'product_variant_title' => $this->input->post('product_name').' '.$this->Product_model->get_variant_group_by_variant_id($value)[0]->value,
'mrp_price' => '',
'price' =>'',
'slug' => url_title($this->input->post('product_name').'-'.$this->Product_model->get_variant_group_by_variant_id($value)[0]->value, 'dash', true),
'status' =>'',
);
if($this->Product_model->add_product_variant($variant_data)){
$this->session->set_flashdata('product_variant_added', 'Product Variant Created Succesfully');
}
}
请帮忙。如果需要更多信息,我会提供
答案 0 :(得分:1)
如果你想防止重复的productId,那么使用以下我的意思是做一个检查:
$q = $this->db->select('ProductName')
->from('Table')
->where(array('ProductId' => $ProductId, 'variant_value_id' => $variant_value_id))->get(); //Select query to check the productId
if($q->num_rows() == 0){ //Finally checks if the Id doesn't exist
//Insert goes here
}
else
{
//Already exists
}