我知道我们可以使用这个来从magento模型集合中获取sql查询,
getSelect();
但是我只能从模型集合中获取查询,而不是在其他模型集合中查询或者我可能不知道如何使用它。
在这里,我想知道在这背后运行什么查询,
$productModel = Mage::getModel('catalog/product')->getCollection();
$attr = $productModel->getResource()->getAttribute("color");
if ($attr->usesSource()) {
echo $color_label = $attr->getSource()->getOptionText("28");
}
如果我使用它,
echo $productModel->getSelect(); exit;
我只是查询一部分,例如,
SELECT `e`.* FROM `catalog_product_entity` AS `e`
更新
这是我的完整代码,
<?php
require_once('app/Mage.php'); //Path to Magento
umask(0);
Mage::app();
$productModel = Mage::getModel('catalog/product')->getCollection();
$attr = $productModel->getResource()->getAttribute("color");
if ($attr->usesSource()) {
$color_label = $attr->getSource()->getOptionText("28");
}
$productModel->printlogquery(true);exit;
请帮帮我们,
答案 0 :(得分:2)
您的订单条件在查询中不可见。您的订单未显示的原因是因为在load()方法期间将订单添加到查询中。
请参阅Varien_Data_Collection_Db::load()
尝试调用load(true)
以查看包含order by子句的完整SQL。
$productModel->load(true);
$productModel->printLogQuery(true);
希望它有所帮助。
答案 1 :(得分:1)
如果您想查看确切查询的内容,可以使用以下方法获取:
$productModel->printlogquery(true);exit;
在加载模型的对象并应用所有条件后使用此代码。
我希望这会对你有所帮助。
答案 2 :(得分:1)
Magento收集大量内部查询数据 - 模型和大量检查,可能超过1个表。因此无法像我正在寻找的那样获得查询。