1
我正在使用CakePHP的樹狀行爲,因爲我不想查看空類別,所以需要知道類別中是否有任何產品或它的子類別。如何僅顯示具有CakePHP行爲樹的產品類別?
我願做這樣的事情:
$cat = $this->Category->find('first',array('conditions'=>array('id'=>$id)));
$test = $this->Category->find('threaded', array(
'conditions' => array(
'Category.lft >=' => $cat['Category']['lft'],
'Category.rght <=' => $cat['Category']['rght'],
'Product.InStock >'=>0 //NOT WORKING
)
));
這將是一個起點來取消不需要的陣列的尺寸。在數據庫中,類別有許多產品。
有什麼可以解決這個問題的最佳方法?是否有可能避免Product->在foreach循環中找到category_id?
是它的工作原理,謝謝!現在我只需要擺脫所有沒有產品類別的「死衚衕」。也許多個foreach結構或什麼? – Henri
我在答案中忘記提到了,但如果您擁有數千種產品,那麼這種查詢和性能可能會很容易失控。你會想要監視它並看看它是如何發生的。可能值得使用'contain'數組中的'fields'數組,並且只從'Product'中選擇需要的字段並限制它/使用分頁。 – Ross
謝謝,我一直盯着它。加載時間現在大約爲0.25秒,並且它不是很高的流量站點,所以它並不重要。 – Henri