Db表:
id | user_id | skill_id
1 | 3 | 1
2 | 3 | 4
情况:用户点击按钮提交以将数据发布到数据库 - >(示例)数据为user_id(3)和skill_id(1)。
我想与数据库中的数据进行比较,如果数据库中不存在帖子数据,例如帖子数据是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{
}
}
}
答案 0 :(得分:0)
我猜你在这里过分思考 -
首先删除您的项目,然后将其插入
以下内容应该有用(我假设你必须在你的阵列中至少拥有一项技能,但无论你是否想要,都完全取决于你......)
$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);
}
}