请问如何获得最终的SQL语句,但不执行?

AR操作的sql语句是否有办法返回?

没有办法。你只能通过log查看执行的SQL

通过log看到的sql,是利用占位符来替代值,

这样对于debug时,不是很方便

如果是完整的sql,可以直接粘贴到sql管理器中,看到执行效果~

不知道现在的sql模式,是出于什么方面考虑的呢?

现在的sql模式利用的是PDO的prepared statement,主要是出于安全性考虑,杜绝SQL injection attack。你可以通过配置db connection的enableParamLogging=true在log中查看参数值。

嗯,这个参数我注意到了,只是值为绑定到后面,

不利于直接拷贝、粘贴、执行~

尽管如此,我还是支持 yii对于PDO的支持~