Как использовать ORM Magento, чтобы создать внутреннее соединение между моей пользовательской таблицей и таблицей magento? - PullRequest
3 голосов
/ 16 марта 2011

Мне нужно сделать внутреннее соединение между моей пользовательской таблицей и одной из таблиц сущностей Magento. Как я могу сделать это с моделью ORM Magento?

Заранее большое спасибо.

1 Ответ

3 голосов
/ 16 марта 2011

Прочтите официальную документацию API и просмотрите методы joinTable, joinField и joinAttribute.

Вот пример объединения таблиц, связанных с коллекцией Orders:

$this->_orders = Mage::getResourceModel('sales/order_collection')
        ->addAttributeToSelect('*')
        ->joinAttribute('billing_firstname', 'order_address/firstname', 'billing_address_id', null, 'left')
        ->joinAttribute('billing_lastname', 'order_address/lastname', 'billing_address_id', null, 'left')
        ->joinAttribute('billing_street', 'order_address/street', 'billing_address_id', null, 'left')
        ->joinAttribute('billing_company', 'order_address/company', 'billing_address_id', null, 'left')
        ->joinAttribute('billing_city', 'order_address/city', 'billing_address_id', null, 'left')
        ->joinAttribute('billing_region', 'order_address/region', 'billing_address_id', null, 'left')
        ->joinAttribute('billing_country', 'order_address/country_id', 'billing_address_id', null, 'left')
        ->joinAttribute('shipping_firstname', 'order_address/firstname', 'shipping_address_id', null, 'left')
        ->joinAttribute('shipping_lastname', 'order_address/lastname', 'shipping_address_id', null, 'left')
        ->joinAttribute('shipping_street', 'order_address/street', 'shipping_address_id', null, 'left')
        ->joinAttribute('shipping_company', 'order_address/company', 'shipping_address_id', null, 'left')
        ->joinAttribute('shipping_telephone', 'order_address/telephone', 'shipping_address_id', null, 'left')
        ->joinAttribute('shipping_fax', 'order_address/fax', 'shipping_address_id', null, 'left');

Вам также следует просмотреть этот вопрос , чтобы найти примеры того, что было опробовано, и их последствия.

НТН,
JD

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...