4

Magentoの複数の選択属性でaddAttributeToFilterを使用する際に問題が発生しました。

車のメーカーに複数のselect属性があるので、コンテンツは「Audi」、「BMW」などです。私の例では、複数選択から5つのメイクを選択したタイヤ製品があります。

選択したフィールドの1つとして「BMW」というメーカーの製品を表示したいと思います。

私は以下を試しましたが、すべてが機能していません。

$products->addAttributeToFilter('make', array('like' => '%BMW%'));  
$products->addFieldToFilter('make', array('like' => '%BMW%'));  
$products->addAttributeToFilter('make', array('like' => '%38%')); // id of the attribute option

何も機能していないようです。

4

2 に答える 2

12

Find In Set解決策は、次のようなクエリを使用することです。

$this->_productCollection->addAttributeToFilter("make", array("finset"=>"38"));

議論はここで見ることができます:http://www.magentocommerce.com/boards/viewthread/201312/

そして、さまざまなオプションのリスト:http: //www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-8-varien-data-collections

于 2012-05-09T16:39:08.813 に答える
0

以下の構文finsetを試してみてください。

$collection->addAttributeToFilter($attribute,
    array(
        array('finset'=> array('237')),
        array('finset'=> array('238')),
        array('finset'=> array('239')),
    )
);
于 2018-09-05T07:42:13.387 に答える