在CakePHP中执行自动删除查询

时间:2014-09-10 11:50:51

标签: cakephp

我在查询中面临的问题是通过正常的CakePHP版本2.3.4编写的 问题很少发生[不经常] - 只有少数行被自动删除。

执行控制器文件中既没有任何cron也没有任何操作"删除"命令/查询。

但是为什么这种自动删除事件对我来说是悲惨的。直到现在。

表格结构如下:

CREATE TABLE IF NOT EXISTS `bulk_orders` (
  `id` int(10) unsigned NOT NULL auto_increment,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `order_no` (`order_no`)
) EN

GINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=16270 ;

CREATE TABLE IF NOT EXISTS `bulk_order_lines` (
  `id` int(10) NOT NULL auto_increment,
  `order_id` int(10) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=34711 ;

自动删除查询的执行方式如下: 从ID = 1234;

的bulk_orders中删除

有人可以帮我找到解决方案吗?

1 个答案:

答案 0 :(得分:0)

你的问题很模糊。 我假设您已经通过烘焙烘焙了CRUD控制器操作和模板?

通常这是开发人员的错误 - 设计失败。 HTTP规范非常清楚用于修改数据库的协议类型: POST

此外,还应通过身份验证或其他措施保护它,以避免滥用。

但是在这里使用POST而不是GET可以防止BOT和人们因意外或目的而无法删除您的内容。

$this->Form->postLink()

是你应该使用的。 行动本身应包含

$this->request->allowMethod('post');

请确认这是您在代码中已经获得的内容。