簡體   English   中英

在Magento獲取優惠券代碼的客戶名稱

[英]Get Customer Name for Coupon Codes in Magento

我已經在網上和這個網站上搜索了一個解決方案,但找不到任何解決方案。 我想獲得與Magento中的優惠券代碼相關聯的客戶名稱。 我找到了使用優惠券代碼的時間的一些代碼,但我無法獲得客戶名稱。

我嘗試了以下代碼:

<?php

$mageFilename = 'app/Mage.php';
require_once $mageFilename;

umask(0);
Mage::app( 'admin' );

$coupon = Mage::getModel('salesrule/coupon/usage');
$coupon->load('dd_38WX9N', 'code');
if($coupon->getId()) {
    $timesUsed = $coupon->getTimesUsed();
    $customer = $coupon->getCustomerId();
    echo $timesUsed;
    echo $customer;
}

?>

有人可以幫助我,並指出我正確的方向。

非常感謝你的幫助。 丹尼爾

這是一個很好的解決方案。 您需要使用資源而不是模型來訪問salesrule_coupon_usage表並獲取customer_id列表

/*@var $coupon Mage_SalesRule_Model_Coupon */
$coupon = Mage::getModel('salesrule/coupon');
$coupon->load('dd_38WX9N', 'code');

if($coupon->getId()){
    /* @var $resourceCouponUsage Mage_SalesRule_Model_Mysql4_Coupon_Usage */
    $resourceCouponUsage = Mage::getResourceModel('salesrule/coupon_usage');
    $read = $resourceCouponUsage->getReadConnection();
    $select = $read->select()
                ->from($resourceCouponUsage->getMainTable())
                ->where('coupon_id = ?', $coupon->getId());

    $data = $read->fetchAll($select);
    print_r($data);
    foreach($data as $couponUsage){
        $customer = Mage::getModel('customer/customer')->load($couponUsage['customer_id']);
        echo $customer->getName();
    }
}

當您能夠獲得客戶的ID時,您還可以獲得整個客戶對象:

$customer_data = Mage::getModel('customer/customer')->load($customer_id);
print_r($customer_data);

那里你也可以得到這個名字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM