2011-10-12 82 views
2

我已經在網絡上和本網站上搜索解決方案,但找不到任何。 我想獲取與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; 
} 

?> 

可能有人請幫助我與和我指向正確的方向。

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

回答

9

這是一個很好的解決方案。你需要使用的資源,而不是模型來獲得對錶的訪問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(); 
    } 
} 
+0

非常感謝Diglin的幫助。這就像一個魅力。你剛剛救了我的一天:-) –

+2

不要猶豫投票:-) –

+1

我試圖做到這一點,但我的名聲不允許我投票:-(我會回來,儘快做到這一點聲望讓我投票。 –

2

當你能夠得到顧客的ID,你也可以得到整個客戶對象:

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

在那裏你可以得到的名稱爲好。

+0

的問題是,我沒有客戶ID。我需要獲得與優惠券代碼關聯的客戶ID。例如,優惠券代碼「xyz」已被使用,現在我希望從使用該優惠券代碼的客戶那裏獲得ID或姓名。在Magento優惠券代碼報告中,您只能看到此優惠券已被使用,但您無法看到誰使用了該特定優惠券。 –

相關問題