プロジェクトを継承したばかりで、無限スクローラーのページネーションが引き続き正しく機能するように、コードを少し作り直す必要があります。
現在、コードはすべてのカテゴリとその製品、およびリストを取得しています。有効なリストがある製品を含むカテゴリのみが返されるように編集する必要があります。
最終的に機能したコードは次のとおりです。
$catData = $this->find('all',array(
'conditions' => array(
'Indexer.type' => 'Category',
'Listing.listing_id IS NOT NULL'
),
'joins' => array(
array('table' => 'peeka_product_category_link',
'alias' => 'Link',
'type' => 'LEFT',
'conditions' => array(
'Link.category_id = Category.category_id'
)
),
array('table' => 'peeka_products',
'alias' => 'Product',
'type' => 'LEFT',
'conditions' => array(
'Product.product_id = Link.product_id'
)
),
array('table' => 'peeka_listings',
'alias' => 'Listing',
'type' => 'LEFT',
'conditions' => array(
'Listing.product_id = Product.product_id',
'Listing.listing_end_date >=' => $date,
'Listing.listing_start_date <=' => $date,
"Listing.listing_status = 'Active'"
)
),
),
'order' => 'Category.category_name ASC',
'limit' => $set_limit,
'fields' => array('Category.category_id, Category.category_name, Indexer.url'),
'group' => 'Category.category_id',
'recursive' => 0
));
編集:デイブのおかげでこれは現在機能していて、将来の参考のために投稿したかっただけです。多分それは他の誰かを助けるでしょう。