PT Português
Versão: v2.3.0

debug

Habilita o modo de depuração para exibir o SQL gerado sem executá-lo.

debug()
Valor de retorno
[Medoo] A instância Medoo com modo de depuração habilitado.
O Medoo exibe o SQL gerado sem executá-lo. Desative o modo de depuração após concluir a análise.

SQL gerado

Use debug() para inspecionar o SQL gerado pela consulta atual.
$database->debug()->select("bccount", [
	"user_name",
	"email"
], [
	"user_id[<]" => 20
]);

// Saída:
// SELECT "user_name","email" FROM "bccount" WHERE "user_id" < 20

Caso Perigoso

Em alguns casos, uma única chamada executa várias consultas SQL. Se você chamar debug() em uma consulta, o código subsequente ainda será executado, o que poderá levar a um comportamento inesperado.
// Isto não gera nenhuma saída.
$database->insert("account", [
	"user_name" => "foo",
	"email" => "foo@bar.com"
]);

// Exibe a consulta gerada.
$post_id = $database->debug()->get("post", "post_id", ["user_name" => "foo"]);

// Atenção: esta consulta será executada. Como debug() foi chamado acima, agora $post_id é false.
$database->update("account", [
	"level[+]" => 5,
	"post" => $post_id
], [
	"user_name" => "foo"
]);

Registro de depuração

Para depurar seu projeto sem adicionar debug() a cada consulta, chame beginDebug() para iniciar o registro. Em seguida, chame debugLog() para interromper o registro e retornar todas as instruções SQL coletadas como uma matriz.
// Inicie o log de depuração.
$database->beginDebug();

// Essas consultas não são executadas; elas são registradas no log de depuração.
$database->select("account", ["user_name", "email"], ["user_id[<]" => 20]);
$database->update("account", ["level[+]" => 1], ["user_id[>]" => 100]);

// Chame debugLog() para interromper o log e retornar todas as instruções SQL registradas.
var_dump($database->debugLog());

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