これは初めてのCakePHPプログラミングです。私はcakePHP 1.3.3を使用しています。私はこの問題にぶつかり、問題の原因を突き止めることができませんでした。 My機能は次のとおりです。私のコントローラの初めにいくつかのレコードの複数の部分を表示するCakephpページング
function view_members(){
$data = $this->paginate('User',array('User.level <=' => '10'));
print_r($data);
}
、ページ付けがに設定されている:
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,
),
);
}
:私のモデルでは
var $paginate = array(
'limit' => 20,
'order' => array('User.id' => 'asc'),
'User' => array(
'fields' => array('User.id','User.level','User.name','User.status'),
'recursive' => 0
)
);
、ユーザーがこのように設定されて私の問題は、私はその関数にアクセスするとき、私は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
)
)
);
、マシューは、MySQLデータベース内の唯一の1レコードが存在するにもかかわらず、アレイに4回表示されます。私はなぜそれがこれをやっているのか理解しようとしてきましたが、これまでは成功していませんでした。誰もこれを経験したことがありますか?
設定でデバッグを2に設定します。 paginate()の呼び出しによって生成されたSQLクエリは何ですか? –