Ich versuche, Code in meiner ersten seriösen CodeIgniter-App zu debuggen, und ich kann nicht finden, wo ich einfach die Raw-SQL abrufen kann, die mein ActiveRecord-Code gerade generiert hat.Erste rohe SQL-Abfragen in CodeIgniter 1.7
$where = 'DAY(`datetime_start`) = '. date('d',$day) .' AND ';
$where .= 'MONTH(`datetime_start`) = '. date('m',$day) .'';
$this->db->from('events')->where($where);
$result = $this->db->get();
Danke für die Hilfe!
_compile_select() ist in neueren Versionen von CodeIgniter als geschützt gekennzeichnet (es wurde wahrscheinlich nur für PHP4-Kompatibilität zuvor nicht geschützt erklärt). Sie könnten also das Limit auf 1 setzen, um die Ausführung einer großen Abfrage zu vermeiden, und dann last_query() aufrufen, oder Sie könnten reflection verwenden, aber die erste Option ist vorzuziehen. –
Auch: Es sieht so aus, als wäre get_compiled_select() in einer zukünftigen Version von CodeIgniter verfügbar; Es ist bereits im Dev-Zweig (https://github.com/EllisLab/CodeIgniter/blob/develop/system/database/DB_query_builder.php). Ich kopierte diese Methode nach DB_active_rec und es funktionierte gut, sogar in Verbindung mit dieser Bibliothek: https://github.com/NTICompass/CodeIgniter-Subqueries –