/** * @covers Zend\Db\Sql\Expression::setParameters */ public function testSetParameters() { $expression = new Expression(); $return = $expression->setParameters('foo'); $this->assertSame($expression, $return); return $return; }
/** * Count sql rows * @param $matches * @param $distinct * @return int */ private function _getCount($matches = null, $distinct = false) { //initialize table gateways of not initialized if (!$this->isInitialized) { $this->initialize(); } //build count expression $expression = new Expression(); $expression->setExpression("COUNT(" . ($distinct ? ' DISTINCT ' : '') . "?)"); if (empty($matches)) { $expression->setParameters('*'); $expression->setTypes(array(Expression::TYPE_LITERAL)); } else { $field = $this->__normalizeKeys($matches['fields']); $expression->setParameters($field); $expression->setTypes(array(Expression::TYPE_IDENTIFIER)); } $select = $this->sql->select(); //set columns to just the count expression $select->columns(array('count' => $expression), false); $statement = $this->sql->prepareStatementForSqlObject($select); //execute the statement and return the result $result = $statement->execute()->current(); return $result['count']; }
/** * @covers Zend\Db\Sql\Expression::setParameters */ public function testSetParametersException() { $expression = new Expression('', 'foo'); $this->setExpectedException('Zend\\Db\\Sql\\Exception\\InvalidArgumentException', 'Expression parameters must be a scalar or array.'); $return = $expression->setParameters(null); }