Magento2 通过Magento 2中的Wishlist产品Id获取客户详细信息

Magento2 通过Magento 2中的Wishlist产品Id获取客户详细信息,magento2,Magento2,根据客户数量将产品列表添加到愿望列表中,我需要知道哪个客户根据产品id将特定产品添加到愿望列表中 $wishlistItemCollection = $objectManager->get('Magento\Wishlist\Model\ResourceModel\Item\Collection')->addFieldToFilter('product_id', ['eq' => $productId]); 如何根据产品id获取客户详细信息或至少一个客户id?我的工作代码如下

根据客户数量将产品列表添加到愿望列表中,我需要知道哪个客户根据产品id将特定产品添加到愿望列表中

$wishlistItemCollection = $objectManager->get('Magento\Wishlist\Model\ResourceModel\Item\Collection')->addFieldToFilter('product_id', ['eq' => $productId]);

如何根据产品id获取客户详细信息或至少一个客户id?

我的工作代码如下:

    foreach($wishlistItemCollection as $wishlistData){
        $customerId = $wishlistData->getCustomerId();
        $customer = $this->_customer->load($customerId);
        $customerData = $customer->getData();
        $customerName = $customer->getFirstname();
        $customerEmail = $customer->getEmail();
    }
首先,我从wishlist_项目表中获取集合,并使用我的产品id进行筛选

$wishlistItemCollection = $objectManager->get('Magento\Wishlist\Model\ResourceModel\Item\Collection')->addFieldToFilter('product_id', ['eq' => $productId]);
然后使用公共字段名wishlist\u id加入wishlist\u项和wishlist表,并将客户id获取到wishlistItemCollection中

$joinConditions = 'main_table.wishlist_id = wishlist.wishlist_id';
    $wishlistItemCollection->getSelect('*')->join(
             ['wishlist'],
             $joinConditions,
             []
            )->columns("wishlist.customer_id");
使用客户id,我们可以获得以下所有客户详细信息:

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