2012-09-12 2 views
0

LIB 에서 재설정되지 않습니다/Varien/데이터/수집/db.php를 모든 젠토 컬렉션을 상속하는 방법 getSelectCountSql()이 있습니다. 이 메서드에서는 Select 개체가 복제되고 컬렉션을로드하지 않는 컬렉션 항목에 대한 COUNT 값을 얻기 위해 구체적으로 사용되지만 가벼운 Select를 사용하여 DB를 쿼리하는 대신 사용할 수 있도록 준비되었습니다.getSelectCountSql()가 그룹의 일부를

선택의 불필요한 부분을 재설정하고 COUNT 결과에 영향을 줄 수있는 부분을 준비하여 준비가 완료됩니다.

내가 알고 싶은
public function getSelectCountSql() 
{ 
    $this->_renderFilters(); 
    $countSelect = clone $this->getSelect(); 
    $countSelect->reset(Zend_Db_Select::ORDER); 
    $countSelect->reset(Zend_Db_Select::LIMIT_COUNT); 
    $countSelect->reset(Zend_Db_Select::LIMIT_OFFSET); 
    $countSelect->reset(Zend_Db_Select::COLUMNS); 
    ... 

, 마 젠토 엔지니어가 다른 부분과 함께 $countSelect->reset(Zend_Db_Select::GROUP); 포함되지 않은 이유를 진짜 이유가 : 여기에 코드입니다.

Magento는 개정판에서이 문제를 해결하지 못하는 것 같아서 이것이 버그인지 확실치 않습니다. 어쩌면 틀렸을까요? 누군가가 뒤의 추론을 설명 할 수 없다면,을 포함해서는 안되며, GROUP 부분을 재설정 부품 목록에 포함시켜 주시면 감사하겠습니다.

추신 : this question의 복제본이 아닙니다. 수정본을 추가하는 방법을 알고 있으며, Magento 엔지니어가 처음부터 해명하지 않은 이유에 대해 설명하고 싶습니다. 문제를 계속 무시하고 싶습니다. .

+1

흥미로운 질문입니다. 저는 개인적으로 이것이 이것을 버그라고 생각하지 않습니다. 당신이 성취하고자하는 것에 달려 있다고 생각합니다. 스타일 및 색상 속성을 가진 항목 모음을 만들고 고유 한 색상 (따라서 색상별로 그룹화)을 원한다면 컬렉션 수를 고유 한 색상 수가 아닌 전체 색상 수로 기대합니다. 내 테이블에있는 항목. –

+0

답장을 보내 주셔서 감사합니다. @ 꼬리표 - 완전히 의미가 있지만,이 시나리오는 더 독특한 시나리오처럼 보입니다. 여러 테이블을 조인 할 때 중복 항목을 방지하기 위해보다 자주 엔티티 ID 필드 (또는 증분이 호출되는 곳)에 그룹화가 사용됩니다. 그래서이 더 자주 시나리오가 제대로 작동하기 위해서는'group'을 리셋하는 것이 더 나을 것입니다. 그러나 어쨌든, 당신의 요지는 꽤 설득력이 있습니다. –

답변

0

이것은 실제로 버그가 아니며, 내 가정에 잘못되었습니다.

0

이것은 내 Magento CE 1.9.2.2에서 수정되었습니다 (어떤 버전이 먼저 포함되었는지는 잘 모르겠지만).