Magento标准对资料库存取的方式都是使用ORM ,需要除错的时候就会想要印出原生SQL来看看,完整的SQL到底长什么样子呢?
第一种情况显示sql的方式
上图是取得资料库资料的程式码,因为有getCollection,所以内建有一个function可以取得原生sql,echo (string)$collection->getSelect();,就会在画面上印出sql语法了。
第二种情况显示SQL的方式
上图是magento做insert资料的程式码,如果要印出insert的原生sql,可到路径lib/Zend/Db/Adapter/Abstract.php的query()里面echo $sql
例如下图
所以magento除错上比较麻烦的一点是,要印出sql语法不能只用一种方式。