0
我剛剛繼承了一個項目,我需要重新工作一段代碼,以便無限滾動條的分頁仍然正常工作。複雜的CakePHP查詢重構
現在代碼抓住所有類別及其產品和列表。我需要對其進行編輯,以便只返回具有有效列表的產品類別。
下面是最終的工作代碼:
$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
));
編輯:感謝戴夫,這是現在的工作,我只是想將它張貼以供將來參考。也許它會幫助別人。
我添加了一些連接,它似乎工作。現在是否有一種方法可以選擇不同,以便只返回類別的一個實例? – tmartin314 2013-03-26 21:01:43
@whatshakin - 嘗試使用「GROUP BY」(或在Cake中,它是「group」)。 – Dave 2013-03-26 21:08:06