Как отлаживать NotORM

Кто-нибудь знает способ отладки запросов NotORM?

Я могу получить SQL-запрос, который он выполняет, распечатав объект NotORM.

Пример:

$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);

Это дает:

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

У меня проблемы с этим запросом, потому что, если я выполняю его вручную через phpMyAdmin, я получаю примерно 90 результатов, но NotORM дает мне только 14.

Есть ли способ понять, что происходит с NotORM?

Спасибо

1 ответ

Я столкнулся с проблемой итератора iterator_to_array с набором результатов. В моем случае я просматривал набор результатов с

print_r(iterator_to_array($notormresult));

и приказ был проигнорирован.

Я заметил это, когда я фактически повторил и напечатал набор результатов:

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

Не уверен, что это ваша проблема, поскольку вы получаете несоответствие счета.

Другие вопросы по тегам