public function testFromString() { $table = \r8\Query\From\Table::fromString("table"); $this->assertSame("table", $table->getTable()); $this->assertNull($table->getDatabase()); $this->assertNull($table->getAlias()); $table = \r8\Query\From\Table::fromString("db.table"); $this->assertSame("table", $table->getTable()); $this->assertSame("db", $table->getDatabase()); $this->assertNull($table->getAlias()); $table = \r8\Query\From\Table::fromString("`db`.`table`"); $this->assertSame("table", $table->getTable()); $this->assertSame("db", $table->getDatabase()); $this->assertNull($table->getAlias()); $table = \r8\Query\From\Table::fromString("table AS Alias"); $this->assertSame("table", $table->getTable()); $this->assertNull($table->getDatabase()); $this->assertSame("Alias", $table->getAlias()); $table = \r8\Query\From\Table::fromString("db.table AS Alias"); $this->assertSame("table", $table->getTable()); $this->assertSame("db", $table->getDatabase()); $this->assertSame("Alias", $table->getAlias()); $table = \r8\Query\From\Table::fromString("`db`.`table` AS Alias"); $this->assertSame("table", $table->getTable()); $this->assertSame("db", $table->getDatabase()); $this->assertSame("Alias", $table->getAlias()); $table = \r8\Query\From\Table::fromString("`table AS ` AS Alias"); $this->assertSame("tableAS", $table->getTable()); $this->assertNull($table->getDatabase()); $this->assertSame("Alias", $table->getAlias()); }
/** * A fluent interface for setting the from value * * @param mixed $from A string or a selectable expression * @return \r8\Query\Select Returns a self reference */ public function from($from) { if (!$from instanceof \r8\iface\Query\From) { $from = \r8\Query\From\Table::fromString($from); } return $this->setFrom($from); }