Ejemplo n.º 1
0
 public function testParseSQLAlias()
 {
     $this->assertSame(array(null, null), \r8\Query::parseSQLAlias("  "));
     $this->assertSame(array("Expr", null), \r8\Query::parseSQLAlias("Expr"));
     $this->assertSame(array("Expr", "alias"), \r8\Query::parseSQLAlias("Expr AS alias"));
     $this->assertSame(array("`Expr`", "alias"), \r8\Query::parseSQLAlias("`Expr` AS `alias`"));
     $this->assertSame(array("`Expr AS `", "ASalias"), \r8\Query::parseSQLAlias("`Expr AS ` AS ` AS alias`"));
     $this->assertSame(array("Expr", null), \r8\Query::parseSQLAlias("Expr AS "));
     $this->assertSame(array("Expr", "ASalias"), \r8\Query::parseSQLAlias("Expr AS AS alias"));
     $this->assertSame(array("`Expr\\`quoted`", null), \r8\Query::parseSQLAlias("`Expr\\`quoted` AS "));
 }
Ejemplo n.º 2
0
 /**
  * Instantiates a new instance of this object from a string
  *
  * @param String $string The string to parse into an object
  * @return \r8\Query\From\Table
  */
 public static function fromString($string)
 {
     list($string, $alias) = \r8\Query::parseSQLAlias($string);
     // Split the name into the table and database
     $parsed = \r8\Query::parseSQLName($string);
     // Instantiate with the table name
     $field = new self(array_pop($parsed));
     // Set the database if we found one
     if (count($parsed) > 0) {
         $field->setDatabase(array_pop($parsed));
     }
     // Now load in the alias
     if ($alias) {
         $field->setAlias($alias);
     }
     return $field;
 }
Ejemplo n.º 3
0
 /**
  * Instantiates a new instance of this object from a string
  *
  * @param String $string The string to parse into an object
  * @return \r8\Query\Expr\Aliased
  */
 public static function fromString($string)
 {
     list($string, $alias) = \r8\Query::parseSQLAlias($string);
     $atom = \r8\Query\Atom\Field::fromString($string);
     return new self($atom, $alias);
 }