2016-04-20 13 views
1

Kennt jemand eine Möglichkeit, NotORM Anfragen zu debuggen?Wie Debuggen von NotORM

Ich bin in der Lage, die SQL-Abfrage zu erhalten, die es durch printf-ing des NotORM-Objekts ausführt.

Beispiel:

$models = $this->dbh->wh_product()->select("wh_model.id, wh_model.manufacturer, wh_model.model, wh_model.details, wh_model.wh_category.category, crm_contact.ragione")->order("wh_model.wh_category.id ASC, crm_contact.ragione ASC, wh_model.model ASC"); 

printf($models); 

Das gibt:

SELECT 
    wh_model.id, 
    wh_model.manufacturer, 
    wh_model.model, 
    wh_model.details, 
    wh_category.category, 
    crm_contact.ragione 
FROM 
    wh_product 
LEFT JOIN wh_model ON wh_product.wh_model_id = wh_model.id 
LEFT JOIN wh_category ON wh_model.wh_category_id = wh_category.id 
LEFT JOIN crm_contact ON wh_product.crm_contact_id = crm_contact.id 
ORDER BY 
    wh_category.id ASC, 
    crm_contact.ragione ASC, 
    wh_model.model ASC 

Ich habe Probleme mit dieser Abfrage haben, weil, wenn ich dies manuell über phpMyAdmin ausführen ich so etwas wie 90 Ergebnisse bekommen, aber NotORM gibt mir nur 14.

Gibt es eine Möglichkeit zu verstehen, was mit NotORM passiert?

Dank

Antwort

0

lief ich in ein Problem mit iterator_to_array auf das Ergebnis durcheinander. In meinem Fall sah ich die Ergebnismenge mit

print_r(iterator_to_array($notormresult)); 

an und die Reihenfolge wurde ignoriert.

ich es bemerkt, wenn ich die Ergebnismenge tatsächlich iterativ und gedruckt:

$newresult = array(); 
foreach($notormresult as $r){$newresult[]=iterator_to_array($r);} 
print_r($newresult); 

Nicht sicher, ob dies Ihr Problem ist tho als eine Zählung Mismatch bekommen.