Cakephp - 删除新POST数据中不存在的条目

时间:2013-06-14 09:19:01

标签: php cakephp

我正在制作类似在线餐厅菜单的内容,管理员可以在其中进行编辑。

数据库如下所示:

CATEGORIES
id   |  name
1    | Western Food

FOODS
id   | category_id | name
1    |      1      | Tenderloin
2    |      1      | Fish Chips

管理员编辑菜单后,它会读取所有输入并将其作为AJAX请求发布。数据(简化)如下所示:

data: [
    {Category: {id: 1, name:'Western Food'} },
    {Food: [
        {id: 1, category_id: 1, name: 'Tenderloin'}, //Have ID = edit old entry
        {category_id: 1, name: 'Burger'}, //Don't have ID = create new entry
    ]}
]

CakePHP中的saveAll()函数在根据数据中id列的存在自动检测是编辑还是创建新条目方面做得很好。

正如您在上面所看到的,起初我们在餐桌上有2种食物。但新的POST数据不包含ID = 2的食物,因此意味着食物被删除。 如何删除

是否有内置功能检测哪些条目未被修改

对不起,这个问题很长。如果它让您感到困惑,请询问澄清。

由于

1 个答案:

答案 0 :(得分:0)

我通过在保存新条目之前删除所有旧条目来解决它。

这可能不是最好的做法,但是......哦,好吧。