•  
  •  
  •  
  •  
  •  
  •  
  •  

どうも、こんにちは。

WEBチームのザックです。

 

CakePHPを始めて半年くらいたちました。

まだまだ知らないことも多い状況ですが、現在関わっている案件にて使用している技術的なことをメモ程度に書いていこうかと思います。

 

さて、さっそくタイトルの話、Paginatorとはなんだというところ・・・

これはリファレンスなどに詳しく書いてありますが、

ざっくり「お手軽にページ制御ができる」です。

大量のデータ、レコードをどのように表示するか、ページごとに表示する仕組みをcakeさんがよしなにやってくれる。

そんなコンポーネントになっています。

 

さっそく使い方ですが、ページ制御を行いたいコントローラーでまずは定義します。

class UsersController extends AppController {

    public $components = array('Paginator');

    public $paginate = array(
        'User' => array(
            'limit' => 10,
            'order' => array(
            'User.id' => 'desc'
            )
        )
    );
}

 

findメソッドで使えるようなconditionsやfieldsやjoinsなど使えます。

public $paginate = array(

    'User' => array(
        'limit' => 10,
        'order' => array(
            'User.id' => 'desc'
        ),
        'recursive' => 2,
        'fields' => array(
            'User.id',
            'User.name',
            'User.address'
        )
    )
);

 

このようにpaginateを定義しておくことでコントローラーのアクションから呼び出すことが可能になります。

アクション内ではこんな感じでpaginateを呼び出します。

$conditions = array(
    'User.active' => 1,
);
$users = $this->paginate('User', $conditions);

 

 

上記ではアクション内でconditionsを設定してpaginateメソッドを使用しています。

 

以上で、お手軽にページ制御をすることができます。

細かくは書いていないので詳細に知りたい方はCookBookなどリファレンスを確認してください。

 

おそらく次回はアソシエーションとjoinのあれこれを書こうと思ってます!

お見積いたします。どんなことでも、お気軽にご相談ください。

お客様のご要望とご予算に応じて最適なソリューションをご提案いたします。
VRの開発やアプリ開発以外でも、ぜひ一度ご相談ください。

  •  
  •  
  •  
  •  
  •  
  •  
  •  

VRの開発やアプリ開発などのご依頼は【Vermuda LLC,】へ

【Vermuda LLC,】ではVRの開発やWEBシステム、アプリの開発などを通し、皆様の業務を楽しく便利にするお手伝いをしております。特にVRは近年注目を集めているマーケティングツールで、スマホを使った販促活動にも役立ちます。会社が売り出す商品やサービスが3Dで立体的に見えると、より顧客の知的好奇心を刺激することが可能です。会社の魅力が伝わるVRやアプリ開発の依頼先を探しておりましたら、ぜひ【Vermuda LLC,】へご依頼ください。見積もりは随時承っております。