我怎样才能得到这个SQL查询?
$product = Mage::getModel('catalog/product')->load(4329)->getCategoryIds();
答案 0 :(得分:8)
要在magento中启用sql调试,请在您喜欢的文本编辑器中打开文件lib/Varien/Db/Adapter/Pdo/Mysql.php
。在第86行附近,您将看到以下类变量:
/*
* Write SQL debug data to file
*
* @var bool
*/
protected $_debug = false;
/**
* Minimum query duration time to be logged
*
* @var unknown_type
*/
protected $_logQueryTime = 0.05;
/**
* Log all queries (ignored minimum query duration time)
*
* @var bool
*/
protected $_logAllQueries = false;
/**
* Add to log call stack data (backtrace)
*
* @var bool
*/
protected $_logCallStack = false;
/**
* Path to SQL debug data log
*
* @var string
*/
protected $_debugFile = 'var/debug/sql.txt';
更改以下变量:
protected $_debug = true; //false;
并且
protected $_logAllQueries = true; //false;.
这就是全部。运行app goto sql.txt后,您将看到所有查询。
答案 1 :(得分:1)
echo Mage::getModel('catalog/product')->load(4329)->getCategoryIds()->getSelect();
应该有效
答案 2 :(得分:0)
在Zend_Db_Select类型的对象上(例如Varien_DB_Select),您可以调用Method assemble()来获取SQL查询字符串。