【问题标题】:Duplicate entry when trying to edit a record尝试编辑记录时出现重复条目
【发布时间】:2010-07-09 13:16:19
【问题描述】:

当我尝试编辑一个条目时......它在数据库中创建了一个重复的条目。

当我转到编辑表单时,我确保添加了一个隐藏的 id 字段。

餐厅

餐厅属性

餐厅联系方式

这些是我正在使用的模型。

尝试重新初始化id

$this->餐厅->id = $this->餐厅->id;

奇怪...在数据库中没有额外的条目...

但在蛋糕中它的显示..试图清除缓存..仍在发生

http://harshamv.com/files/screenshots/2010-07-07_1524.png

http://harshamv.com/files/screenshots/2010-07-07_1525.png

我已经在这里发布了代码

http://forum.phpvideotutorials.com/showthread.php?p=81936

这里是索引操作http://bin.cakephp.org/view/660872993

这里是型号http://bin.cakephp.org/view/1228539627

http://harshamv.com/files/screenshots/2010-07-10_0937.png

SQL语句http://pastebin.com/EmdXmNeH

餐厅模特http://pastebin.com/W1sLiL7W

【问题讨论】:

  • 您可以考虑发布您的索引操作(或任何显示您显示的分页输出的操作)。如果您的数据与您预期的一样,则可能是您的索引操作查询中的问题。
  • 这里是索引操作bin.cakephp.org/view/660872993

标签: cakephp model cakephp-1.3 duplicates


【解决方案1】:

如果在 phpmyadmin 中只显示一条记录,而在应用程序中显示多条记录,那么您的关系有问题。

我会先删除 hasOne 和 belongsTo 看看。我以前也有过这种情况,而且总是关系不好。

【讨论】:

【解决方案2】:

我从 MIRC 的 teknoid 那里得到了答案。

在我的编辑视图中,我只设置了 Restaurant.id。 视图中没有设置相关模型的 id。

按照 cake 的约定,我们需要从 db u 更新中获取任何记录的 id。所以这是在相关模型中创建重复记录。

在索引操作中,因为有相关模型的 JOIN。由于相关模型中的重复条目,它正在创建重复条目

通过添加所有相关模型记录的 ID。这解决了问题。

感谢大家的宝贵时间。最后我设法让它工作了。

【讨论】:

    【解决方案3】:

    检查 ID 列是否设置为主键以及 AUTOINCREMENT。如果已设置,则无法插入重复条目。

    这个

    $this->Restaurant->id = $this->Restaurant->id; 
    

    做笔记。

    编辑:

    好的,我的错是我没有看到你说在数据库条目中是好的。那么:

    1. 检查 $this->paginate() 是否返回这些重复的条目 - print_r() 它。如果条目在那里重复,那么您正在弄乱模型中的关系。还将调试选项更改为 2 并查看生成了哪些 SQL。

    2. 如果上述检查中的条目是唯一的,那么在显示 $restaurants 的结果时,您在循环中搞砸了

    我认为这更有可能是第一个建议

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    相关资源
    最近更新 更多