2011-01-07 12 views
3

私は高値と低値を検索し、これに対して複数の異なる解決法を試みましたが、うまくいかないようです。 私は基本的に商品とカテゴリを持っています。 カテゴリは、多くの製品と製品に属しており、HABTMカテゴリに属しています。それらは明らかにid、product_id、category_idフィールドを持つproducts_categoriesジョインテーブルに関連しています。cakephp 1.3ページング関連のデータ

シンプルなフル・ベーク・モデルのビューとコントローラーが焼成された後 - いくつかのカテゴリーと製品が追加され、それらの関係が設定されます特定のカテゴリー・ビュー・ページに行くことができ、プリ・ベイクド・ビューはこれに関連する製品を表示しますカテゴリー。

しかし、かなりの数の製品があります(さらに多くのものがあります)。この関連するすべてのデータをページ付けする方法を検討するのに苦労しています。カテゴリ内のすべての製品を単純にリストするだけでは実現できません(100s以上ある可能性があります) 誰かが助けることができますか?これとさまざまなソリューションについては、未解決の話題がいくつかありますが、どれも私が仕事に就くことはできません!助けてください!

+0

あなたの問題には関係ありませんが、CakePHP規約では、 'products_categories'テーブルの名前を' categories_products'にする必要があります。 – Stephen

+0

わかりませんか?それはproducts_categoriesという名前で、うまく動作しているようです。どのような違いがテーブルの名前を変えるのでしょうか? –

+0

モデル間のhasAndBelongsToMany(HABTM)関係で使用されるドキュメンテーションの "結合テーブル"は、アルファベット順(zebras_applesではなくapples_zebras)で結合するモデルテーブルの名前を付けます。 http://book.cakephp.org/view/903/Model-and-Database-Conventionsこのようにすると、ケーキに "Magic"が追加され、モデルに定型コードが含まれないようにして、どのテーブルにつかいます。 – Stephen

答えて

3

CakePHPコントローラはbuilt in paginationです。ドキュメントは徹底しているので、まずそれを読むことをお勧めします。その後、私はあなたがその問題に関してどんな質問にも答えてくれるでしょう。 、ここに関与する特定のコードを知らなくても

は、モデルデータページ付けする方法の簡単な例です:あなたはこの記事http://blog.sohaibmuneer.com/using-mysql-inner-join-in-cakephp-pagination をお読みください

class CategoryController extends AppController { 
    var $paginate = array(
     'Product' => array(
      'joins' => array(
       array(
        'table' => 'categories_products', // or products_categories 
        'alias' => 'CatFilter', 
        'type' => 'INNER', 
        'conditions' => array(
         'CatFilter.product_id = Product.id' 
        ) 
       ) 
      ), 
      'limit' => 10 
     ) 
    ); 

    function view ($category_id) { 
     $this->set(
      'products', $this->paginate(
       $this->Category->Product, array(
        'CatFilter.category_id' => $category_id 
       ) 
      ) 
     ); 
    } 
} 
+0

私はページ区切りのセクションを読んだので、私の問題に関連するものは何も見つかりません。私は再読するつもりですが、私はここで行方不明になっていますか?ありがとうございました –

+0

間違ったセクションを修正しました。既に自分の方法を試して失敗した場合は、今すぐ試してみてください。 – Stephen

+0

これは機能します!優れた!しかし、小さな問題は、次のページはunclickableです、それは/ categories/view/1 /カテゴリー/ビュー/ページに行く:2 –

関連する問題