Phalcon - 获取PHQL中的计数结果

时间:2017-04-11 21:28:09

标签: php phalcon

我需要从表中获取行数作为字符串。 我执行这段代码:

$phql  = "SELECT COUNT(*) FROM Model WHERE id = $this->id";
$count = $this->getModelsManager()->createQuery($phql)->execute();

现在$countPhalcon\Mvc\Model\Resultset\Complex个对象。为了获得正确的结果,我需要做类似的事情:

$count[0]->{0}

在我看来,这太糟糕了。有没有其他方法可以得到这个结果?

1 个答案:

答案 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();