当我尝试编辑条目时......它在数据库中创建了一个重复的条目。
我确定在进入编辑表单时添加隐藏的id字段。
餐厅
RestaurantAttribute
RestaurantContact
这些是我正在使用的模型。
尝试重新初始化ID
$ this-> Restaurant-> id = $ this-> Restaurant-> 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
答案 0 :(得分:1)
如果在phpmyadmin中只显示一条记录,并且在应用中显示多条记录,那么您的关系就会出现问题。
我首先要删除hasOne和belongsTo并查看。我之前已经有了这个,而且它总是很糟糕。
答案 1 :(得分:1)
我从MIRC的teknoid那里得到了答案。
在我的编辑视图中,我只设置了Restaurant.id。 在视图中没有设置相关模型的任何ID。
通过cake的约定,我们需要拥有db u update中任何记录的id。所以这是在相关模型中创建重复记录。
在索引操作中,因为存在相关模型的JOIN。由于相关模型中的重复条目,它创建了重复的条目
添加所有相关模型记录的ID。这解决了这个问题。
谢谢大家的时间。最后我设法让它发挥作用。
答案 2 :(得分:0)
检查ID列是否设置为主键以及AUTOINCREMENT。如果已设置,则无法插入重复的条目。
这个
$this->Restaurant->id = $this->Restaurant->id;
注意。
编辑:
好的,我的错,我没有看到你在DB条目中说过没问题。然后:
检查$ this-> paginate()是否返回这些重复的条目 - print_r()。如果条目在那里重复,那么你正在弄乱模型中的关系。还要将debug选项更改为2,并查看生成的SQL。
如果条目在上面的检查中是唯一的,那么在显示$ restaurants的结果时,你在循环中搞乱了一些东西
我认为这更有可能是第一个建议