2011-11-09 3 views
1

쉼표로 구분 된 값 목록이 포함될 제품에 대해 정의 된 속성이 있습니다. 이 아이디어는 다른 제품에 대해이 제품을 참조 할 수 있도록하기위한 것입니다.Magento - 속성 별 필터

의사 코드는 조금 같을 것이다 : 속성 "cross_ref는" '% 1천2백34퍼센트'

처럼 모든 제품을 찾기 cross_ref 속성은 "1234,5678, ABCD"등 같은 것을 포함합니다 다음을 시도했지만 제품을 반환하지 않습니다.

$collection = Mage::getModel('catalog/product')->getCollection(); 
$collection->addAttributeToSelect('*'); 
$collection->addFieldToFilter('cross_ref',array('like'=> '1234')); 
//$collection->addAttributeToFilter('cross_ref',array('like'=> '1234')); // This didn't work either 
foreach ($collection as $product) { 
     var_dump($product->getData()); 
} 

이 코드는 아무 것도 반환하지 않습니다.

어떻게하면이 아이디어를 얻을 수 있습니까? 'like' => '%1234%' :

은 문자열의 서브 파트와 일치하도록 % 기호를 잊었처럼

답변

3

이 보이는 감사드립니다. 당신은 12345에 맞게 1234 원하지 않는 경우

그러나, 당신은 쿼리의 쉼표를 포함 할 수 있습니다, 또한 문자열의 시작 또는 끝 없음 쉼표를 허용 :

$collection->addFieldToFilter('cross_ref', array(
    array('like'=> '%,1234,%'), 
    array('like'=> '1234,%'), 
    array('like'=> '%,1234'), 
)); 
+0

도현 ! 그 점을 알려 주셔서 감사합니다. 모든 것이 예상대로 작동합니다. 감사 – sulman