【发布时间】:2012-09-15 11:58:16
【问题描述】:
我正在使用以下语句。
$users = $this->User->find('all');
但在数据库中只有 174 行。但查询返回 200 行。
当我输出内容时,我看到很多行都重复了。
知道为什么 cakephp 出现这种行为吗?
结构
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`username` varchar(255) NOT NULL,
`password` varchar(40) NOT NULL,
`display_photo` varchar(255) DEFAULT NULL,
`subscription_plan_id` int(11) unsigned NOT NULL,
`company_id` int(11) NOT NULL,
`status` tinyint(2) NOT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=177 ;
通过尝试使用此语句进行调试
echo $users = $this->User->find('count');
我自己得到 200。
【问题讨论】:
-
显示你的用户模型结构,你和其他表没有关系吗?
-
更新了问题@MoyedAnsari
-
表实际上有多少行? phpmyadmin 中的计数是近似值,如脚注所示。执行
find->('all')并输出计数结果;然后看看是否真的有 200 个结果;或任何重复等。也尝试清除缓存 -
@Ross 很少有记录被重复多达 15 次。尤其是第一张唱片。 php 管理员说有 174 个,如图所示
-
@Harsha M V - 在您的 AppModel 中,执行以下操作:
public $recursive = -1;
标签: cakephp cakephp-2.1 cakephp-2.2