usersテーブルのidとaccountsテーブルのuser_idで左結合した結果をページネイトする。
下記サンプルはusersテーブルにはemailフィールド、accountテーブルにはplanフィールドがあるとする。
上記の条件でページネートをExamplesControllerに作成する。
class ExamplesController extends AppController {
public $uses = [ 'User', 'Account' ];
public $components = [ 'Paginator' ];
public function index() {
$this->Paginator->settings = [
'User' => [
'limit' => 5,
'conditions' => [ 'User.role <> ' => 'admin' ],
'joins' => [
[
'type' => 'LEFT',
'table' => 'accounts',
'alias' => 'Account',
'conditions' => 'User.id = Account.user_id'
]
],
'fields' => [
'User.id',
'User.email',
'Account.plan',
],
'order' => [ 'User.created' => 'DESC' ],
],
];
$this->set( 'users', $this->Paginator->paginate( 'User' ) );
}
}
No comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。