Как объединить коллекцию продуктов magento 2 в пользовательскую таблицу?
У меня есть пользовательская таблица user_product_table
с полем sku
(это поле присоединяется к коллекции продуктов) и user
. Как я могу объединить эту таблицу с коллекцией продуктов, чтобы мне не нужно было зацикливать свою пользовательскую коллекцию, чтобы получить продукт в каждой строке.
Мой $userCollection
:
$userCollection = $this->_userProductFactory->create()
->getCollection()
->addFieldToFilter('user', 2);
Моя коллекция товаров:
$productColelction = $this->_productCollectionFactory->create()
->addAttributeToSelect(array('name','image','short_description','sku'))
Я хотел бы иметь окончательную коллекцию как моих пользовательских полей таблицы, так и выбранных атрибутов продукта.
8
Author: Teja Bhagavan Kollepara, 2016-12-06
1 answers
Мы можем использовать соединение следующим образом:
$joinConditions = 'u.sku = e.sku';
$productColelction->getSelect()->join(
['u' => $productColelction->getTable('user_product_table')],
$joinConditions,
[]
);
Несколько условий:
$joinConditions[] = "u.sku = e.sku";
$joinConditions[] = "e.type_id= 'simple' ";
$joinConditions = implode(
' AND ', $joinConditions
);
13
Author: Khoa TruongDinh, 2017-06-08 05:15:21