ES Español
Versión: v2.3.0

debug

Habilita el modo de depuración para mostrar el SQL generado sin ejecutarlo.

debug()
Valor devuelto
[Medoo] La instancia Medoo con el modo de depuración habilitado.
Medoo muestra el SQL generado sin ejecutarlo. Desactive el modo de depuración cuando termine de diagnosticar el problema.

SQL generado

Utilice debug() para inspeccionar el SQL generado por la consulta actual.
$database->debug()->select("bccount", [
	"user_name",
	"email"
], [
	"user_id[<]" => 20
]);

// Salida:
// SELECT "user_name","email" FROM "bccount" WHERE "user_id" < 20

Caso peligroso

En algunos casos, una sola llamada ejecuta múltiples consultas SQL. Si llama a debug() en una consulta, el código posterior aún se ejecuta, lo que puede provocar un comportamiento inesperado.
// Esto no produce ninguna salida.
$database->insert("account", [
	"user_name" => "foo",
	"email" => "foo@bar.com"
]);

// Muestra la consulta generada.
$post_id = $database->debug()->get("post", "post_id", ["user_name" => "foo"]);

// Atención: esta consulta sí se ejecutará. Como arriba se ejecutó debug(), ahora $post_id vale false.
$database->update("account", [
	"level[+]" => 5,
	"post" => $post_id
], [
	"user_name" => "foo"
]);

Registro de depuración

Para depurar su proyecto sin agregar debug() a cada consulta, llame a beginDebug() para comenzar a iniciar sesión. Luego llame a debugLog() para detener el registro y devolver todas las declaraciones SQL recopiladas como una matriz.
// Inicia el registro de depuración.
$database->beginDebug();

// Estas consultas no se ejecutan; se registran en el log de depuración.
$database->select("account", ["user_name", "email"], ["user_id[<]" => 20]);
$database->update("account", ["level[+]" => 1], ["user_id[>]" => 100]);

// Llame a debugLog() para detener el registro y devolver todas las sentencias SQL registradas.
var_dump($database->debugLog());

// Salida:
array(2) {
  [0]=> string(10) "SELECT ... FROM"
  [1]=> string(10) "UPDATE ... SET ... WHERE ..."
}