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());
 }
Пример #2
0
 /**
  * @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);
 }