产品加载的完整SQL查询是什么?
我的意思是,如何获取此代码的完整SQL查询: -
$productId = 52;
$product = Mage::getModel('catalog/product')->load($productId);
Run Code Online (Sandbox Code Playgroud)
我知道,我们可以通过printLogQuery获取集合对象的SQL查询.例:-
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->printLogQuery(true);
Run Code Online (Sandbox Code Playgroud)
我无法找到产品负载().任何的想法?
Łuk*_* L. 29
load()实际上是在数据库上执行查询的方法.因此,没有选择"找到这样的产品load()".在load()方法之前生成最终查询.
另外,例如,在屏幕上获取查询的简单方法是(在您的示例中):
$collection = Mage::getModel('catalog/product')->getCollection();
echo $collection->getSelect()->__toString();
Run Code Online (Sandbox Code Playgroud)
您可以通过转储实际查询
要启用SQL调试,请转到
lib/Varien/Db/Adapter/Pdo/Mysql.php
Run Code Online (Sandbox Code Playgroud)
改变第98行
protected $_debug = false;
Run Code Online (Sandbox Code Playgroud)
至
protected $_debug = true;
Run Code Online (Sandbox Code Playgroud)
它会将SQL直接写入第126行的值
protected $_debugFile = 'var/debug/pdo_mysql.log';
Run Code Online (Sandbox Code Playgroud)