CakePHPでハマったのでメモ。バージョンは1.2.0.7296 RC2。 HABTMのテーブルを検索する方法と、そのときのpagenateを正しく取得する方法です。 いわゆるBlogの記事に複数のタグを付けるとして、 以下のようなテーブルがあります。 ———————— posts -id -title posts_tags -post_id -tag_id tags -id -name ———————— 記事のタイトルとタグの名称の両方をLIKEで検索します。 コントローラのposts_controller.phpのsearchメソッドのなかで、paginateでデータを引っ張ってきます。 paginateのjoinsの指定で、posts_tagsとtagsをINNER JOINしてあげて、conditionsでLIKE検索の条件を渡してあげます。 $joins