Я думаю, что joinAttribute мог бы работать, если некоторые параметры были изменены. Я немного больше знаком с join и joinLeft , которые больше похожи на работу напрямую с запросами mysql.
$collection = Mage::getModel('catalog/product')
->getCollection()->getSelect()
->joinLeft(array('warehouse_id'=>'warehouse'),'e.warehouse_id = warehouse_id.warehouse_id', array('name'));
var_dump($collection);
Предполагается, что имя вашей пользовательской таблицы warehouse
и что поле в вашей пользовательской таблице, которое соответствует пользовательскому атрибуту warehouse_id
, также называется warehouse_id
. Это также предполагает, что поле для имени хранилища в вашей пользовательской таблице равно name
. Возможно, вам придется сделать что-то подобное, а не называть таблицу напрямую:
$collection = Mage::getModel('catalog/product')
->getCollection()->getSelect()
->joinLeft(array('warehouse_id'=>$this->getTable('warehouse/warehouse')),'e.warehouse_id = warehouse_id.warehouse_id', array('name'));
var_dump($collection);
Если ни одна из них не работает, замените строку var_dump строкой:
echo $this->escapeHtml($collection->getSelect());
И опубликовать полученный SQL-запрос здесь.