phpactiverecord - 显示生成的查询?

时间:2013-03-26 10:30:37

标签: php phpactiverecord

使用来自http://www.phpactiverecord.org/的phpactiverecord,除了查看数据库服务器的查询日志之外,有没有办法查看生成的SQL查询以进行调试?

3 个答案:

答案 0 :(得分:11)

在您的模型中:

echo self::connection()->last_query;

模特之外:

YourModelName::connection()->last_query;

答案 1 :(得分:3)

在扩展ActiveRecord \ Model的类中,最后一个查询位于ClassName :: connection() - > last_query中。 e.g。

class Todo extends ActiveRecord\Model {
    public static function test() {
        Todo::all();
        var_dump(Todo::connection()->last_query);       
    }
}

答案 2 :(得分:2)

有几种不同的方法来获取没有参数的SQL语句

  1. static::connection()->last_query #returns对连接的最后查询
  2. static::table()->last_sql #same as first
  3. {{1}}#这只会返回发送到查找程序功能的最后一个查询,并且不会包含关联查询
  4. 要获取带参数集的完整语句,您需要将自己的函数(see php.net comment)置于角色并将其插入到php-activerecord / lib / Connection.php :: query函数中。可能不是生产的好主意。