So, I have subscribers collection:

$subscribersCollection =  Mage::getModel('newsletter/subscriber')->getCollection();

I want to join customer collection to it by email, so I did next:


But in this way I only join customer_entity table, but not all the customer collection. I think about also join other customers tables. Is there any better way to join customer collection?


I have tried

$customerCollection = Mage::getResourceModel('customer/customer_collection'); 
$customerCollection->getSelect()->join(array('cus'=>'newsletter_subscriber'),'cu‌​s.subscriber_email = e.email');

Now it work, thanks


2 Answers 2


You're going to kick yourself when I show you :-)

Create a customer collection instance and join the newsletter table on that.


Try to use just email instead of main_table.email.

  • In UPDATE case main table is not newsletter_subscriber
    – sergio
    Mar 12, 2014 at 13:55
  • Yes, you are right. Please see my updated answer. Mar 12, 2014 at 14:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.