【发布时间】:2019-09-11 01:24:53
【问题描述】:
大家好,我只想问在我的项目中有三个表 product、color 和 product_color。我使用 insert_batch 插入数据库然后它工作正常,当我使用 update_batch 更新 product_color 表时遇到一些问题。这是我的示例代码:
数据库:
product:id,name,sku...
color:id,color_name
product_color:id,pro_id,color_id
输入表格:
<?php foreach($colors as $color): ?>
<input type="checkbox" class="form-check-input" name="color[]" value="<?php echo $color->color_id; ?>" <?php foreach ($productcolor as $key => $value){ $array[] = $value->color_id;} if(in_array($color->color_id,$array)) echo 'checked'; else ''; ?>>
<label class="form-check-label">
<?php echo $color->color_name; ?>
</label>
<?php endforeach; ?>
实际上我想从 product_color 表中传递主 ID。这里我通过 color_id。有任何方法可以从输入表单中传递主 ID; 这是我的控制器:
$colorBatch = array();
foreach ($color as $colorvalue) {
$colorBatch[] = array(
'id'=>$id
'pro_id' =>$pid,
'color_id' => $colorvalue
);
}
$this->db->update_batch('product_color', $colorBatch,'pro_id');
其中 $pid 包含 product_id;
是否可以从输入表单中传递 product_color 表主 ID 或有任何更好的解决方案来解决这个问题。抱歉英语不好。
谢谢
【问题讨论】:
标签: mysql arrays codeigniter foreach