编码点火器如何从数据库中删除帖子数据中不存在的值



db 表:id |
user_id | skill_id
1 | 3 | 1
2 | 3 |

情况:用户单击按钮提交将数据发布到数据库>(示例(数据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{
}
}   
}

我想你在这里想多了——

只需先删除您的项目,然后将其插入,

以下内容应该有效(我假设,您的数组中必须至少具有一项技能,但无论您是否愿意,这完全取决于您......

$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);
}
}

最新更新