0
這是我第一次用CakePHP編程。我正在使用CakePHP 1.3.3。我遇到了這個問題,我似乎無法弄清楚問題所在。我的功能如下:CakePHP分頁顯示一些記錄的倍數
function view_members(){
$data = $this->paginate('User',array('User.level <=' => '10'));
print_r($data);
}
在我的控制器的開始,分頁設置爲:
var $paginate = array(
'limit' => 20,
'order' => array('User.id' => 'asc'),
'User' => array(
'fields' => array('User.id','User.level','User.name','User.status'),
'recursive' => 0
)
);
在我的模型,用戶設置是這樣的:
class User extends AppModel {
var $name = 'User';
var $hasOne = array(
'Users_detail' => array(
'className' => 'Users_detail',
'dependent' => true,
),
'Users_calendar' => array(
'className' => 'Users_calendar',
'dependent' => true,
),
);
var $hasMany = array(
'Users_transaction' => array(
'className' => 'Users_transaction',
'order' => 'Users_transaction.id ASC',
'dependent' => true,
),
'Users_notice' => array(
'className' => 'Users_notice',
'order' => 'Users_notice.id DESC',
'dependent' => true,
),
);
}
我的問題是,當我訪問該功能,我得到1記錄的多個實例。
這是我得到的數組:
Array
(
[0] => Array
(
[User] => Array
(
[id] => 3
[level] => 5
[name] => Matthew
[status] => 1
)
)
[1] => Array
(
[User] => Array
(
[id] => 3
[level] => 5
[name] => Matthew
[status] => 1
)
)
[2] => Array
(
[User] => Array
(
[id] => 3
[level] => 5
[name] => Matthew
[status] => 1
)
)
[3] => Array
(
[User] => Array
(
[id] => 3
[level] => 5
[name] => Matthew
[status] => 1
)
)
[4] => Array
(
[User] => Array
(
[id] => 4
[level] => 5
[name] => Larry
[status] => 1
)
)
[5] => Array
(
[User] => Array
(
[id] => 5
[level] => 5
[name] => Brian
[status] => 1
)
)
);
在這個例子中,馬修出現在陣4次,即使只有1在MySQL數據庫中的記錄。我一直在試圖弄清楚爲什麼這樣做,但迄今爲止,我還沒有成功。有誰之前經歷過這個嗎?
在您的配置中將調試設置爲2。什麼是通過調用paginate()生成的SQL查詢? – 2011-01-20 07:11:06