2011-11-09 27 views
1

コンマ区切りの値リストを含む製品の属性が定義されています。この背後にあるアイデアは、私がこの製品を他の製品と照合するためのものです。Magento - 属性別フィルタ

擬似コードは少し次のようになります。 属性「cross_refは」「%1234パーセント」

のようであるすべての製品を探す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

関連する問題