获取任何查询的“原始” SQL的最简单方法就是print
(实际上,将其转换为str
)。
但是,该方法不适用于count()
查询,因为count()
是“触发”方法,该方法表示为“这将导致底层执行查询”。其他“射击”方法包括all()
,first()
等。
如何获取此类方法的SQL?
我对count()
特别感兴趣,因为它以某种方式转换了基础查询(实际上,此方式已明确描述为in docs,但情况可能有所不同)。其他方法也可以更改结果SQL,例如first()
。
因此,有时获取此类查询的原始SQL很有用,以便调查问题的根源。
我阅读了有关“获取原始SQL”的答案,但这种情况很特殊,因为此类方法不会返回Query
对象。
请注意,我的意思是我需要一个已经存在的 Query
对象的SQL。
答案 0 :(得分:0)
下面的示例将返回任何查询对象的计数,然后您应该可以将其转换为字符串表示形式:
pageN.js
请注意,您必须从查询输出中指定一个字段才能计数。在<script>
定义的示例中。