【发布时间】:2013-02-04 23:50:27
【问题描述】:
我正在创建一个可以让多个用户同时编辑相同信息的 CakePHP 应用程序。为了防止用户覆盖彼此的更改,我希望在用户保存表单时只保存用户更改的一两个字段。
我不能只将字段与数据库值进行比较,因为这些数据库值实际上可能是来自其他用户的较新值。
CakePHP 是否提供任何方式仅通过 POST 发送更新的字段?
【问题讨论】:
-
你有没有想过一个 javascript 解决方案? onchange() 更新“changedFields”数组,然后提交并仅处理列出的字段?
-
戴夫,这正是我真正希望做的。老实说,我更像是一个 Objective-C 和 C++ 的人,而不是一个 JavaScript 和 PHP 的人,所以我不确定它会如何实现。另一个优点是 CakePHP 的 save() 命令有一个参数,用于保存哪些字段(以防止黑客攻击)。那么我唯一的问题是如何在表单提交时将额外的数据附加到 $this->request->data 中?
-
那会很好用,谢谢!我认为在文本字段中将 JS 数组作为逗号分隔的数据发送可能会很麻烦,但应该没有任何问题。