2017-04-11 2 views
2

테이블에서 행 수를 문자열로 가져와야합니다. 이 코드를 실행합니다 Phalcon - PHQL에서 계산 결과 얻기

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

지금 $countPhalcon\Mvc\Model\Resultset\Complex 개체입니다. 제 생각에는

$count[0]->{0} 

이 끔찍한이다 : 나는 그런 식으로 뭔가를 할 필요가 적절한 결과를 얻을 수 있습니다. 이 결과를 얻는 다른 방법이 있습니까?

답변

3

거의 솔루션 :

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