php - 在 Magento 中加入两个具有不同字段的集合以按日期选择

标签 php mysql magento model-view-controller magento-1.9

我在 Magento 数据库中有两个表,只有两个公共(public)字段(日期和 customer_id),详细信息如下:

First table name "order" with fields (customer_id, date, order_id)

Second table name "request" with fields (customer_id, date, request_id, request_type)

我可以分别从每个集合中选择按日期排序的最后 10 条记录,但是如何从按日期排序的两个表中选择最后 10 条记录,并显示 order_id(如果它来自“order”表)并显示 request_id 和 request_type如果它来自“请求”表?

我可以从以下集合中进行选择:

   $orders = Mage::getModel('Custommodule_Order/Order')->getCollection()->addFieldToFilter('customer_id', 1)->setOrder('date', 'DESC')->setPageSize(10)->setCurPage(1); 

   $requests = Mage::getModel('Custommodule_Request/Request')->getCollection()->addFieldToFilter('customer_id', 1)->setOrder('date', 'DESC')->setPageSize(10)->setCurPage(1);

foreach($orders as $order){
echo $order->getOrderId();
}

foreach($requests as $request){
echo $order->getRequestId();
}

最佳答案

您可以将 UNION 与额外字段一起使用:

(SELECT t1.id, `t1.date` dte, 1 sourcetable FROM t1) 
UNION
(SELECT t2.id, `t2.date`, 2 sourcetable FROM t2) 
 ORDER BY dte DESC
 LIMIT 10;

sourcetable 列将告诉您从哪个表中获取该行。

关于php - 在 Magento 中加入两个具有不同字段的集合以按日期选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32454987/

相关文章:

mysql - 从 Rails Schema 生成模型

Magento:Mage::getModel ('catalog/category' ) 使用 EAV 还是平面数据?

javascript - 如何将音频片段从react-native上传到php后端?

php - Symfony2 实现数据库翻译的最佳方式

mysql - 将行从一个表复制到另一个表,忽略重复项

magento - 在 magento 1.9 中使用 Redis

javascript - 向 magento 后端注入(inject)新的简单 javascript(作为模块)

php - MYSQL 使用密码被拒绝访问(NO)

php - 获取分别存在于另一个表中且具有空值的记录数

MySQL : When stored procedure parameter name is the same as table column name