И это функция:

этот методgetCategoryIds() вMage_Catalog_Model_Resource_Eav_Mysql4_Product, Этот метод возвращает все идентификаторы категории запрашиваемого продукта. Мне нужно изменитьSELECT оператор, так что он будет возвращать также имена категорий.

Вот основной запрос:


$select = $this->_getReadAdapter()->select()
    ->from($this->_productCategoryTable, 'category_id')
    ->where('product_id=?', $product->getId());

Я не могу использоватьcatalog_category_flat по некоторым причинам, поэтому я должен использовать таблицы EAV. Итак, на данный момент у меня есть этот запрос:


$select = $this->_getReadAdapter()->select()
    ->from($this->_productCategoryTable, 'category_id')
    ->where('catalog_category_product.product_id=?', $product->getId())
    ->join(
       array('a' =>'catalog_category_entity_varchar'),
       'a.entity_id = catalog_category_product.category_id',
       array('name' => 'value')
    )
    ->join(
       array('b' => $this->getTable('eav/attribute')),
       'b.attribute_id = a.attribute_id',
       array()
    )
    ->where("b.attribut_code = 'name'");

Это работает, но я хотел бы спросить, есть ли лучший способ сделать это.

Ответы на вопрос(2)

Ваш ответ на вопрос