我在销售监控系统项目中使用Slim Framework
和NotORM
。当我运行我的程序时,我得到一个修剪应用程序错误:"Trying to get property of non-object" on line 179
。
我无法解决错误。
这是我的代码:
$select = $db->pssale->select("F8")->where("F8 = ?","$textdate")->fetch();
$count = count($select);
答案 0 :(得分:0)
如果未找到任何记录,则fetch()返回false。您的代码评估count(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/#api;这并不难读。
注意:我猜你不明白你不需要“执行”查询来获得结果。 NotORM负责在需要时立即运行查询。除非你真的想从查询中获取一条记录(没有foreach循环),否则不要把fetch()
放在这里和那里。