2014-02-04 4 views
2

Я знаю, как получить идентификатор производителя продукта, но мне нужно имя производителя продукта &, используя MySQL.Как получить имя производителя продукта от идентификатора производителя от mysql?

75 - это идентификатор атрибута для получения идентификатора производителя.

Любой может помочь?

Я хочу его в формате SQL.

+0

Я предполагаю, что у Magneto есть фиксированная схема или у нас нет шансов ... – Liath

ответ

5

Прежде всего, я хочу избавиться от этого пути.
Если у вас есть продукт, как объект, вы можете получить идентификатор производителя, как это:

$product->getManufacturer(); 

и имя:

$product->getAttributeText('manufacturer'); 

Теперь для SQL части ... Я не знайте, зачем вам это нужно, но здесь.
Предположим, что идентификатор продукта равен 10. Попробуйте этот запрос.

SELECT 
    i.value as manufacturer_id, 
    v.value as manufacturer_name 
FROM 
    catalog_product_entity_int i 
    LEFT JOIN 
     eav_attribute_option o 
     ON i.value = o.option_id 
    LEFT JOIN 
     eav_attribute_option_value v 
     ON o.option_id = v.option_id AND 
     v.store_id = 0 
WHERE 
    i.entity_id = 10 AND 
    i.attribute_id = 75 AND 
    i.store_id = 0; 

, если вы хотите, чтобы значения для другого вида магазина просто замените 0 на v.store_id = 0 и i.store_id = 0 со значением вашего магазина ид. 0 означает значения по умолчанию.

+0

Большое спасибо. У меня есть другой вопрос: не i.value уникален для разных магазинов? – jewelhuq

+0

Я не уверен, что понимаю ваш вопрос, но я все равно попробую. В комбинации этих полей есть уникальный индекс: 'catalog_product_entity_int':' entity_id', 'attribute_id',' store_id'. Таким образом, для продукта и идентификатора магазина вы можете иметь одно значение для атрибута_ attribute_id. Значение не имеет ограничений в таблице 'catalog_product_entity_int' – Marius

+0

@Marius Как мы можем получить идентификатор производителя по имени производителя –

Смежные вопросы