Попытка получить свойство необъекта в NotORM

Я использую Slim Framework а также NotORM на моем проекте системы мониторинга продаж. Когда я запускаю свою программу, я получаю Slim Application Error: "Trying to get property of non-object" on line 179,

Я не могу исправить ошибку.

вот мой код:

$select = $db->pssale->select("F8")->where("F8 = ?","$textdate")->fetch();
                            $count = count($select);

1 ответ

Когда записи не найдены, fetch() возвращает false. Ваш код оценивает количество (false).

просто удалить ->fetch() как вы хотите посчитать строки в наборе результатов, а не столбцы в одной записи.

$count = count($db->pssale("F8", $textdate));

На самом деле, самый чистый путь может быть:

$count = $db->pssale("F8", $textdate)->count("F8");

Как я думаю, этот код будет точно генерировать запрос SQL, который вы хотите.

Если вы пытаетесь посчитать разные значения F8, на этот раз вы можете написать:

$count = $db->pssale("F8", $textdate)->count("DISTINCT F8");

Взгляните на http://www.notorm.com/; это не так сложно читать.

Примечание. Полагаю, вы не поняли, что вам не нужно "выполнять" запрос, чтобы получить результат. NotORM отвечает за выполнение запроса, как только он понадобится. Не ставь fetch() здесь и там, если вы действительно не хотите получить одну запись из запроса (без цикла foreach).

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