2012-04-19 108 views
0

有人可以帮我解决以下两个问题吗?从一个页面中的两个模型获取数据 - Magento

  1. 如何在以下查询中过滤Websiteid?
  2. 是否有可能从一个文件中的两个集合中获取数据?最后一个值“公司”应该来自现在被注释掉的客户地址模型。
<?php function getcustomers() 
{ 
    /* Magento's Mage.php path 
    * Mage Enabler users may skip these lines 
    */ 
    require_once ("app/Mage.php"); 
    umask(0); 
    Mage::app("nl"); 
    /* Magento's Mage.php path */ 

    /* Get customer model, run a query */ 
    $collection = Mage::getModel('customer/customer') 
    //$collection = Mage::getModel('customer/address') 
    ->getCollection() 
    ->addAttributeToSelect('*'); 

    $result = array(); 
    foreach ($collection as $customer) { $result[] = $customer->toArray(); } 

    return $result; 
} 
?> 
<html> 
<head> 
    <title>Customers</title> 
    <style> table {border-collapse: collapse;} 
    td {padding: 5px; border:1px    solid    #000000;} 
    </style> 
</head> 
<body> 
<table> 
<tr> 
<td>ID</td> 
<td>Lastname</td> 
<td>Firstname</td> 
<td>Email</td> 
<td>Is Active?</td> 
<td>Date Created</td> 
<td>Date Updated</td> 
<td>Website ID</td> 
<td>Store ID</td> 
<td>Zip Code</td> 
</tr> 
<?php 
    $result = getcustomers(); 
    if(count($result) > 0) 
    { 
    foreach($result as $key => $value) 
    { 
     echo "<tr>"; 
     echo "<td>".$value['entity_id']."</td>"; 
     echo "<td>".$value['lastname']."</td>"; 
     echo "<td>".$value['firstname']."</td>"; 
     echo "<td>".$value['email']."</td>"; 
     echo "<td>"; 
     echo $value['is_active'] == 1 ? "Yes" : "No"; 
     echo "</td>"; 
     echo "<td>".$value['created_at']."</td>"; 
     echo "<td>".$value['updated_at']."</td>"; 
     echo "<td>".$value['website_id']."</td>"; 
     echo "<td>".$value['store_id']."</td>"; 
     echo "<td>".$value['zipcode']."</td>"; 
     echo "</tr>"; 
    } 
    } 
    else 
    { 
    echo "<tr><td colspan=\"7\">No records found</td></tr>"; 
    } 
    ?> 
    </table> 
    </body> 
    </html> 

回答

1

这里,也许尝试呢?我不知道这是否会奏效,但我认为它的方向是正确的。

<?php 

$collection1 = Mage::getModel('customer/customer')->getCollection(); 
$collection2 = Mage::getModel('customer/address')->getCollection(); 

$merged_ids = array_merge($collection1->getAllIds(), $collection2->getAllIds()); 

$merged_collection = Mage::getResourceModel('customer/customer_collection') 
    ->addFieldToFilter('customer_id', $merged_ids) 
    ->addAttributeToSelect('*') 
    ->addStoreFilter(); 


?> 
相关问题