phpactiverecord-显示生成的查询?

phpactiverecord-显示生成的查询?,php,phpactiverecord,Php,Phpactiverecord,使用phpactiverecord from,除了查看数据库服务器的查询日志之外,还有其他方法可以查看生成的SQL查询以进行调试吗?在扩展ActiveRecord\Model的类中,最后一个查询位于ClassName::connection()->last\u query中。e、 g class Todo extends ActiveRecord\Model { public static function test() { Todo::all(); va

使用phpactiverecord from,除了查看数据库服务器的查询日志之外,还有其他方法可以查看生成的SQL查询以进行调试吗?

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

class Todo extends ActiveRecord\Model {
    public static function test() {
        Todo::all();
        var_dump(Todo::connection()->last_query);       
    }
}
在您的模型中:

echo self::connection()->last_query;
YourModelName::connection()->last_query;
在您的模型之外:

echo self::connection()->last_query;
YourModelName::connection()->last_query;

获取不带参数的SQL语句的两种不同方法:

  • static::table()->conn->last_query
    #将上次查询返回到连接
  • static::connection()->最后一次查询
    #与第一次相同
  • static::table()->last_sql
    #这将只返回发送给查找器函数的最后一个查询,不包括关联查询
  • 要获得设置了参数的完整语句,您需要使用自己的函数()并将其插入到php activerecord/lib/Connection.php::query函数中。对于生产来说,这可能不是一个好主意