Я работаю над проектом Magento, но я серьезно застрял.
Я хочу добавить 2 ЛАЙК проверяет в моем запросе.
Теперь мой код выглядит так:
$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.
Что я сделал не так?
Спасибо!
// простите за английские ошибки
Попробуйте с кодом ниже и дайте мне знать, если это работает
$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'] . '%')
)
)
Ошибки, упомянутые в комментариях ниже, могут быть из-за переиндексации. Вы используете Плоские столы?
На всякий случай, если вы есть, то вы можете захотеть переосмыслить, а затем попробуйте еще раз.
Кроме того, это может быть потому, что код должен быть размещен в файле. Поможет отладить его, если вы сможете поделиться функцией, в которой вы пытаетесь написать этот код.
Надеюсь это поможет!
Удачного кодирования …
Других решений пока нет …