gpt4 book ai didi

mysql - 更新 n n 关系 mysql codeigniter

转载 作者:行者123 更新时间:2023-11-29 03:38:31 25 4
gpt4 key购买 nike

我有 PostCategory 表:

CREATE TABLE IF NOT EXISTS `PostCategory` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`PostID` int(11) NOT NULL,
`CategoryID` int(11) NOT NULL,
PRIMARY KEY (`ID`)
)

假设我有以下记录:

ID || PostID || CategoryID
===========================
1 || 1 || 1
2 || 1 || 2
3 || 1 || 3
4 || 2 || 2

当我需要更新 id 为 1 的帖子类别时出现问题现在,如果我更改帖子类别,我会得到这个数组:

$categories = array(1, 2, 4);

我想更新我的表格,使其看起来像这样:

ID || PostID || CategoryID
===========================
1 || 1 || 1
2 || 1 || 2
4 || 2 || 2
5 || 1 || 4

如您所见,我想再添加一条 CategoryID 为 4 的记录并删除 CartegoryID 为 3 的记录,我想使用这样一种模型:

$this->postCategory_model->update_post_categories($categories);

我就是想不出这个模型方法的正确结构。

寻找一些建议

谢谢!

最佳答案

确定删除旧的比检查现有的然后更新更快

function update_post_categories($PostID, $categories) {
$this->db->trans_start();
//delete old cats
$this->db->where('PostID', $PostID);
$this->db->delete('Posts');
//insert new ones
foreach ($categories as $cat) {
$this->db->set('PostID ', $PostID);
$this->db->set('CategoryID', $cat);
$this->db->insert('PostCategory');
}

$this->db->trans_complete();
}

关于mysql - 更新 n n 关系 mysql codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17879789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com