Это мое первое программирование с CakePHP.Я использую cakePHP 1.3.3.Я столкнулся с этой проблемой, что я не могу понять, в чем проблема.Моя функция выглядит следующим образом:
function view_members(){
$data = $this->paginate('User',array('User.level <=' => '10'));
print_r($data);
}
В начале моего контроллера paginate установлен на:
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,
),
);
}
Моя проблема в том, что когда я получаю доступ к этой функции, я получаю несколько экземпляров одной записи.
Это массив, который я получаю:
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 раза, хотя в базе данных MySQL всего 1 запись.Я пытался выяснить, почему он это делает, но до сих пор я не добился успеха.Кто-нибудь испытывал это раньше?