【发布时间】:2023-03-12 12:29:01
【问题描述】:
使用http://www.phpactiverecord.org/的phpactiverecord,除了查看数据库服务器的查询日志,还有什么办法可以查看生成的SQL查询进行调试?
【问题讨论】:
标签: php phpactiverecord
使用http://www.phpactiverecord.org/的phpactiverecord,除了查看数据库服务器的查询日志,还有什么办法可以查看生成的SQL查询进行调试?
【问题讨论】:
标签: php phpactiverecord
获取 SQL 语句的几种不同方法不带参数:
static::table()->conn->last_query #将最后一个查询返回到连接static::connection()->last_query#和第一个一样static::table()->last_sql #这只会返回发送给查找函数的最后一个查询,不会包括关联查询要获得带有参数集的完整语句,您需要扮演自己的函数 (see php.net comment) 并将其插入到 php-activerecord/lib/Connection.php::query 函数中。对于生产来说可能不是一个好主意。
【讨论】:
在您的模型中:
echo self::connection()->last_query;
在你的模型之外:
YourModelName::connection()->last_query;
【讨论】:
在扩展 ActiveRecord\Model 的类中,最后一个查询在 ClassName::connection()->last_query 中。例如
class Todo extends ActiveRecord\Model {
public static function test() {
Todo::all();
var_dump(Todo::connection()->last_query);
}
}
【讨论】: