1

私はMagentoプロジェクトに取り組んでいますが、真剣に立ち往生しています。

クエリに 2 つのLIKEチェックを追加したいと考えています。

今私のコードは次のようになります:

$this->_productCollection->addAttributeToFilter(
    array(
        array('attribute' => 'name', 'like' => '%'.$_GET["keyword"].'%'),
        array('attribute' => 'att_wine_alias', 'like' => '%'.$_GET["keyword"].'%')
    )
);

att_wine_alias : スペルミスまたはタグのあるテキストエリア

したがって、このコードを使用すると、Magento は名前フィールドを検索しませんでした。フィルターからatt_wine_alias属性を削除すると、名前検索が正常に機能します。

ORステートメントを使用して、「いいね」で両方のフィールドを検索したい。

私は何を間違えましたか?

ありがとうございました! // 英語の間違いでごめんなさい

4

1 に答える 1

2

以下のコードを試してみて、うまくいくかどうか教えてください

$this->_productCollection->addAttributeToFilter(
    array(
         array('attribute' => 'name', 'like' => $_GET["keyword"]),
         array('attribute' => 'att_wine_alias', 'like' => $_GET["keyword"])
    )
);

ただし、 addFieldToFilter は、以下のように機能するオプションでもあります。

->addFieldToFilter(
    array('name', 'att_wine_alias'),
    array(
        array('like'=>'%' . $GET['keyword'] . '%'), 
        array('like'=>'%' . $GET['keyword'] . '%')
    )
 )

以下のコメントに記載されているエラーは、ReIndexing が原因である可能性があります。フラットテーブルを使用していますか?

念のため、REINDEX を実行してからもう一度試してみてください。

また、コードをファイルに配置する方法が原因である可能性もあります。このコードを記述しようとしている関数を共有できれば、デバッグに役立ちます。

お役に立てれば!

ハッピーコーディング...

于 2016-01-20T13:27:40.423 に答える