我需要从表中获取行数作为字符串。 我执行这段代码:
$phql = "SELECT COUNT(*) FROM Model WHERE id = $this->id";
$count = $this->getModelsManager()->createQuery($phql)->execute();
现在$count
是Phalcon\Mvc\Model\Resultset\Complex
个对象。为了获得正确的结果,我需要做类似的事情:
$count[0]->{0}
在我看来,这太糟糕了。有没有其他方法可以得到这个结果?
答案 0 :(得分:4)
几个解决方案:
1)使用简单的查询:
$count = $this->db->fetchOne('SELECT COUNT(*) AS total FROM products');
2)模型聚合
$count = Products::count(
"area = 'Testing'"
);
更多信息和方法:生成计算
部分中的https://docs.phalconphp.com/ar/3.2/db-models 3)如果您坚持使用executeQuery()
,则应添加getFirst()
以获得一个结果。与PDO的fetchOne()
类似。
$phql = "SELECT COUNT(*) AS total FROM Models\Products";
$count = $this->modelsManager->executeQuery($phql)->getFirst();