2011-10-12 16 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 Coupon Code 보고서에서이 쿠폰이 사용되었음을 알 수 있지만 누가 해당 쿠폰을 사용했는지 알 수 없습니다. –

관련 문제