• ベストアンサー

cakephpでのデータ取得について質問です。

cakephpで質問です。 説明が下手で申し訳ないのですが。 findメソッドでconditionsとorderを指定して特定のIDから5件を取得するにはどうしたらいいでしょうか? アプリとの連携で現在pagenateで5件表示でページングを行っていますが、アプリ側でデータの削除を行うとズレが生じるため、現在取得されているデータの最後のID以降の5件のデータを取得したいと考えています。 何か良い方法などございましたら回答して頂ければと思います。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.1

$this->paginate[モデル名] の配列に find の時と同様に、 conditions と order と limit やoffset も付ければ、その条件で取得できますよ。 action 内で、その時だけの変更も可能です。 function nextaction($pid=0){ // $pid に現在取得されているid が入っているとする $this->paginate[ 'ModelName' ]= array( 'conditions' =>array( "ModelName.id > $pid" ), 'order' => 'ModelName.id', 'offset' => 0, 'limit' => 5, ); $nextdata = $this->paginate('ModelName'); // あと、適宜 set }

bgbwq712
質問者

お礼

ご回答ありがとうございます! offsetというのがあるんですねー知らなかったです! おかげ様で無事やりたかった事ができました!

関連するQ&A