0

我正在使用我Slim FrameworkNotORM销售监控系统项目。当我运行我的程序时,我得到一个 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);
4

1 回答 1

0

当没有找到记录时, fetch() 返回 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 负责在需要时立即运行查询。fetch()除非您真的想从查询中获取一条记录(没有 foreach 循环),否则不要到处乱放。

于 2014-08-21T13:59:08.790 回答