我正在制作类似在线餐厅菜单的东西,管理员可以在其中编辑它。
数据库如下所示:
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
正如你在上面看到的,起初我们有两种食物。但是新的 POST 数据不包含 ID=2 的食物,所以这意味着食物被删除了。我该如何删除它?
是否有内置功能来检测哪些条目没有被修改?
抱歉,问题很长。如果它让您感到困惑,请要求澄清。
谢谢