public function testFromString() { $fld = \r8\Query\Atom\Field::fromString("field"); $this->assertSame("field", $fld->getField()); $this->assertNull($fld->getTable()); $this->assertNull($fld->getDatabase()); $fld = \r8\Query\Atom\Field::fromString("tbl.field"); $this->assertSame("field", $fld->getField()); $this->assertSame("tbl", $fld->getTable()); $this->assertNull($fld->getDatabase()); $fld = \r8\Query\Atom\Field::fromString("db.tbl.field"); $this->assertSame("field", $fld->getField()); $this->assertSame("tbl", $fld->getTable()); $this->assertSame("db", $fld->getDatabase()); try { \r8\Query\Atom\Field::fromString(" "); $this->fail("An expected exception was not thrown"); } catch (\r8\Exception\Argument $err) { $this->assertSame("Must not be empty", $err->getMessage()); } }
/** * Instantiates a new instance of this object from a string * * @param String $string The string to parse into an object * @return \r8\Query\Expr\Ordered */ public static function fromString($string) { $string = (string) $string; preg_match('/^(.*?)(\\bASC|\\bDESC)?$/i', $string, $matches); return new self(\r8\Query\Atom\Field::fromString($matches[1]), isset($matches[2]) ? $matches[2] : null); }
/** * 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); }