2012-09-06 4 views
0

별로 필터 제품 I 제품을 검색하려면 다음 SQL 쿼리했습니다 :라는 카테고리에서 "기능을 갖춘"만 제품을로드 지금은 또한 문을 추가 것젠토 SQL 쿼리 - 카테고리

$query = "SELECT *,m.m_name,m.m_website FROM belvg_countdown c 
INNER JOIN catalog_product_entity e ON e.entity_id=c.entity_id 
LEFT JOIN manufacturers_products mp ON c.entity_id=mp.product_id 
LEFT JOIN manufacturers m ON mp.manufacturers_id=m.manufacturers_id 
WHERE DATE_FORMAT(expire_datetime_off , '%Y-%m-%d') > DATE_FORMAT(NOW() , '%Y-%m-%d') 
AND DATE_FORMAT(expire_datetime_on , '%Y-%m-%d')!=DATE_FORMAT(NOW() , '%Y-%m-%d') 
AND entity_type='product'"; 

을 . "추천"제품 만 얻으려면 무엇을 비교/쿼리해야합니까?

감사합니다.

답변

0

나는이 너무 많이 테스트하지 않은, 작동하지만 할 것으로 보인다 생각, 아주가

확인을 당신에게

Magento ->addCategoryFilter - filtering product collection by root category

를 풀 수 있도록하거나 시도되는 URL 아래 참조 속임수.

$_rootcatID = Mage::app()->getStore()->getRootCategoryId(); 

$_testproductCollection = Mage::getResourceModel('catalog/product_collection') 
->joinField('category_id','catalog/category_product','category_id','product_id=entity_id',null,'left') 
->addAttributeToFilter('category_id', array('in' => $_rootcatID)) 
->addAttributeToSelect('*'); 
$_testproductCollection->load(); 

foreach($_testproductCollection as $_testproduct){ 
    echo $this->htmlEscape($_testproduct->getName())."<br/>"; 
}; 
+0

"belvg_countdown"이라는 검색어도 있습니다. 실제로 우리는 특정 범위의 제품 만 선택합니다. 모델을 사용하여 위의 전체 쿼리를 어떻게 변환 할 수 있습니까? 예를 들어 주시겠습니까? –

0

당신은 활성 제품을 얻기 위해 모든 쿼리가 필요하지 않습니다 : 당신은 그 사용 필터링 먼저, 당신의 상점 루트 카테고리 ID를 얻을 당신이 "CATEGORY_ID"제품에 액세스 할 수 있도록 일부 필드에 가입해야 특정 카테고리에서. 컬렉션을 사용하십시오.

$producs = Mage::getModel('catalog/category')->load(#categoryid or $_category->getId()) 
      ->getProductCollection() 
      ->addAttributeToSelect('*') 
      ->addAttributeToFilter('is_saleable', 1) 
      ->joinField('is_in_stock', 'cataloginventory/stock_item', 'is_in_stock', 'product_id=entity_id', '{{table}}.stock_id=1', 'left'); 
+0

안녕하세요, 내 게시물의 쿼리는 시간 범위 내에서만 제품을 선택하는 카운트 다운 확장 프로그램을 사용하는 것이 중요합니다. 이러한 이유로 우리는 일반 SQL을 사용합니다. 이와 비슷한 것을 사용할 수 있지만 맞춤 확장 테이블에서 내부 결합을 사용할 수 있습니까? –

+0

당신은 위쪽에 보여준 thar 명령을 사용할 수 있습니다. 당신이 넣어 -> getSelect() -> __ toString(); 이제이 컬렉션 명령의 SQL 쿼리가 있습니다. – Guerra