我无法过滤自定义的eav集合,否则会正常执行:
$mymodel = Mage::getModel('mymodel/things');
$collection = $mymodel->getCollection()
->addAttributeToSelect('*');
对过滤集合进行了各种尝试,例如:
$collection->addFieldToFilter('my_attribute','1');
$collection->addAttributeToFilter('my_attribute', array('like' => '1'));
我尝试的任何内容都会抛出此错误:
Invalid method Mage_Eav_Model_Entity_Attribute::isScopeGlobal(Array
(
)
)
#0 C:\wamp\www\magento\app\code\core\Mage\Catalog\Model\Resource\Collection\Abstract.php(186): Varien_Object->__call('isScopeGlobal', Array)
#1 C:\wamp\www\magento\app\code\core\Mage\Catalog\Model\Resource\Collection\Abstract.php(186): Mage_Eav_Model_Entity_Attribute->isScopeGlobal()
提前感谢您提出任何建议和指示。
更新:
黑客攻击以下内容 - > addAttributeToFilter正常工作。仍需要适合自定义模型的解决方案。谢谢。
Mage_Catalog_Model_Resource_Collection_Abstract: **Hacked**
Line186 if ($store_id != $this->getDefaultStoreId() ){ //&& !$attribute->isScopeGlobal()) {
答案 0 :(得分:0)
主要问题是在我的自定义模型资源集合类中扩展了错误的类:
was: ... extends Mage_Catalog_Model_Resource_Collection_Abstract
now: ... extends Mage_Eav_Model_Entity_Collection_Abstract