Db表:
id = user_id \ skill_id
1\x{e76f}
2-3-4
情境:用户点击按钮提交将数据发布到数据库->(示例)数据是user_id (3)和skill_id(1)。
我想与数据库中的数据进行比较,如果数据库中不存在post数据,例如post数据是user_id(3)和skill_id(1),那么使用id(2)的数据将被删除。
这是为了复选框功能,如果用户勾选复选框,新的数据将被添加到数据库中。如果用户取消选中复选框,数据将被删除。
我的现行守则:
$query = $this->partner_vs_skill_model->where('partner_id',$id )->get_all();
$row = count($query);
foreach ($query as $row) {
foreach($skill as $value){
//$s = $row->skill_tag;
if($row['skill_id'] === $value){
break;
}
else{
}
}
}发布于 2018-06-11 10:57:25
我猜你想得太多了-
先删除你的项目,然后再插入,
下面的方法应该有效(我假设,你的数组中至少需要一种技能,但这完全取决于你是否想要。)
$userId = 3;
if (count($skill) > 0)
{
$this->db->where('user_id', $userId)->delete('your_table');
foreach($skill AS $skillId)
{
$arrInsertData = [
'user_id' => $userId,
'skill_id' => $skillId
];
$this->db->insert('your_table', $arrInsertData);
}
}https://stackoverflow.com/questions/50795314
复制相似问题