如何获得此的SQL查询?
$product = Mage::getModel('catalog/product')->load(4329)->getCategoryIds();
要在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;.
这就是全部。运行应用程序goto-sql.txt后,您将看到所有查询。
echo Mage::getModel('catalog/product')->load(4329)->getCategoryIds()->getSelect();
应该工作
在Zend_Db_Select类型的对象(例如Varien_Db_Select)上,可以调用Method assembly()来获取SQL查询字符串。