通过Magento 2中的愿望清单产品ID获取客户详细信息


产品

列表已按客户数量添加到愿望清单中,我需要知道哪个客户根据产品ID将特定产品添加到愿望清单中。

如何获取客户详细信息或至少基于产品 ID 的客户 ID?

为我工作的代码如下:

首先,我从wishlist_item表中获取集合,并使用我的产品ID进行筛选。

$wishlistItemCollection = $objectManager->get('MagentoWishlistModelResourceModelItemCollection')->addFieldToFilter('product_id', ['eq' => $productId]);

然后使用公共字段名称wishlist_id加入wishlist_item和愿望清单表,并将customer_id放入愿望清单ItemCollection

$joinConditions = 'main_table.wishlist_id = wishlist.wishlist_id';
    $wishlistItemCollection->getSelect('*')->join(
             ['wishlist'],
             $joinConditions,
             []
            )->columns("wishlist.customer_id");

使用customer_id我们可以获取所有客户详细信息,如下所示:

    foreach($wishlistItemCollection as $wishlistData){
        $customerId = $wishlistData->getCustomerId();
        $customer = $this->_customer->load($customerId);
        $customerData = $customer->getData();
        $customerName = $customer->getFirstname();
        $customerEmail = $customer->getEmail();
    }

最新更新