public function testAddClauseWithColumnNameOnlyAndNoEnclosure() { $quote = DatabaseCompatibilityUtil::getQuote(); $adapter = new RedBeanModelSelectQueryAdapter(); $this->assertEquals(0, $adapter->getClausesCount()); $adapter->addClauseWithColumnNameOnlyAndNoEnclosure('a', 'b'); $this->assertEquals(1, $adapter->getClausesCount()); $compareString = "select a b "; $this->assertEquals($compareString, $adapter->getSelect()); }
/** * @param boolean $selectCount If true then make this a count query. If false, select ids from rows. * @param array $quotedExtraSelectColumnNameAndAliases - extra columns to select. * @return string - sql statement. */ public static function makeSubsetOrCountSqlQuery($tableName, RedBeanModelJoinTablesQueryAdapter $joinTablesAdapter, $offset = null, $count = null, $where = null, $orderBy = null, $selectCount = false, $selectDistinct = false, array $quotedExtraSelectColumnNameAndAliases = array()) { assert('is_string($tableName) && $tableName != ""'); assert('$offset === null || is_integer($offset) && $offset >= 0'); assert('$count === null || is_integer($count) && $count >= 1'); assert('$where === null || is_string ($where) && $where != ""'); assert('$orderBy === null || is_string ($orderBy) && $orderBy != ""'); assert('is_bool($selectCount)'); assert('is_bool($selectDistinct)'); $selectQueryAdapter = new RedBeanModelSelectQueryAdapter($selectDistinct); if ($selectCount) { $selectQueryAdapter->addCountClause($tableName); } else { $selectQueryAdapter->addClause($tableName, 'id', 'id'); } foreach ($quotedExtraSelectColumnNameAndAliases as $columnName => $columnAlias) { $selectQueryAdapter->addClauseWithColumnNameOnlyAndNoEnclosure($columnName, $columnAlias); } return SQLQueryUtil::makeQuery($tableName, $selectQueryAdapter, $joinTablesAdapter, $offset, $count, $where, $orderBy); }