[CakePHP] HasAndBelongsToMany(HABTM)の条件指定&ページングのメモ

5236 回閲覧 このエントリーをはてなブックマークする この記事のブックマークユーザー 永続的リンク2009/02/23 18:01:47 カテゴリ: CakePHP
スポンサード リンク
CakePHP


CakePHPの1.2系でHasAndBelongsToManyのアソシエーションでpaginatorでページ送りを作ろうとしたらちょっとハマったのでメモ。

テーブル構成

多対多のリレーション

 bookstags
  -id              -id
  -name            -name

ジョインテーブル

books_tags
 - book_id
 - tag_id

やりたかったことは、

booksの一覧を特定のタグで絞ってページネーションする

やり方

Pagination of data from a HABTM relationshipこちらで紹介されていた方法

$this->BooksTag->bindModel(array(
    'belongsTo' => array('Book' =>
           array(
               'className' => 'Book',
               'foreignKey' => 'book_id',
            )
        ))
    ,false
);
$options = array(
      'fields' => array('Book.id','Book.name'),
      'conditions'=>array(
            'BooksTag.tag_id'=>1,
      ),
      'limit' => 2
   );
$this->paginate = $options;
$data = $this->paginate('BooksTag');


で正しく動作できた。

その他

以前、HABTMのfind('neighbours')でうまく取得出来なかったので、この辺りのやり方で解決出来そうな気がする。調べてみよう。

参考・関連サイト


 →ツイッターのフォローはこちら
スポンサード リンク
         

関連記事

↑ページ上部へ

アクセスカウンター

今日 : 27 昨日 : 20

ブログ内容

主にウェブ関係のことを書いてます。たまにブレイクダンスとか他のことも書いています。

プロフィール

MICK

MICKです。

1983年1月24日生まれ。ウェブの世界にいるのは、偶然のようで必然なのかも。

好きなこと :
 挑戦すること。物事に没頭すること。勉強すること。
嫌いなこと :
 自慢話を聞くこと。人の悪口を言うこと。

運営サイト

      

カテゴリ一覧

サイト広告

オススメの書籍とか

感想

紹介

色々

最近のコメント

最新記事

注目記事

人気記事

最近の人気記事

人気の記事

関連サイト

運営サイト

色々

最近のトラックバック