Using phpactiverecord from http://www.phpactiverecord.org/, is there any way to see the generated SQL query for debugging, other than viewing the database server's query log?
Within your Model:
echo self::connection()->last_query;
Outside your Model:
YourModelName::connection()->last_query;
A couple of different ways to get the SQL statement without the parameters:
static::table()->conn->last_query
#returns last query to the connectionstatic::connection()->last_query
#same as the firststatic::table()->last_sql
#this will only return the last query sent to the finder functions and will not include association queriesTo get the full statement with parameters set, you'll need to role your own function (see php.net comment) and insert it into the php-activerecord/lib/Connection.php::query function. Likely not a great idea for production.
In a class extending ActiveRecord\Model, the last query is in ClassName::connection()->last_query. e.g.
class Todo extends ActiveRecord\Model {
public static function test() {
Todo::all();
var_dump(Todo::connection()->last_query);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With